/ Forside/ Teknologi / Udvikling / Java / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Ingen højreklik + ingen markering.
Fra : Dinah
Vist : 643 gange
100 point
Dato : 20-01-05 11:06

Jeg vil gerne lave min side sådan at der ikke sker noget når man højreklikker + at man ikke kan markere tekst og billeder. Jeg ved det kan lade sig gøre, jeg ved bare ikke hvordan. Jeg vil ha højrekliks funktionen sådan at man heller ikke får en boks op der siger et eller andet...

Hvordan gør man?

 
 
Kommentar
Fra : BjarneD


Dato : 20-01-05 11:17
Accepteret svar
Fra : molokyle

Modtaget 110 point
Dato : 20-01-05 11:48

I IE kan du bruge eventhandleren i din <body> markør :

Kode
<body oncontextmenu="return false;" onselectstart="return false;" ondragstart="return false;">


Alternativt kan du bruge dette script :

Kode
<script language="JavaScript">
function click() {
if (((event.button==2) & (navigator.appName=="Microsoft Internet Explorer")) || (event.button==3)) {
return false } }

document.onmousedown=click
</script>


..eller dette :

Kode
<html>
<title>Beskyt billeder</title>
<head>
<script>
<!--
var specialcase = ((navigator.userAgent.indexOf('Mac') != -1) || document.all);
var flag = 0;
var msg = '';
var x,y,x1,y1,copyAttempt;

function init()
{
   if (!(document.getElementById || document.all || document.layers)) return;
   if (specialcase && document.layers)
   {
      document.captureEvents(Event.MOUSEMOVE);
      document.onmousemove = special;
   }
   for (i=0;i<document.images.length;i++)
   {
      document.images[i].onmousedown = checkIt;
      document.images[i].onmouseup = function() {return false};
      if (specialcase)
      {
         document.images[i].onmousemove = special;
         document.images[i].onclick = clearIt;
      }
   }
}

function checkIt(e)
{
   copyAttempt = 0;
   if (window.Event)
   {
      x = e.screenX;
      y = e.screenY;
      theButt = (e.which == 3);
   }
   else
   {
      x = window.event.clientX;
      y = window.event.clientY;
      theButt = (window.event.button == 2);
   }
   if (theButt)
   {
      copyAttempt = 1;
      flag = 0;
      alert(msg);
      return false; // NN4 only
   }
   if (specialcase) flag = 1;
   return false;
}

function special(e)
{
   theObj = '';
   if (window.Event)
   {
      x1 = e.screenX;
      y1 = e.screenY;
      if (e.target.parentNode) theObj = e.target.parentNode.tagName;
   }
   else
   {
      x1 = window.event.clientX;
      y1 = window.event.clientY;
      theObj = window.event.srcElement.parentElement.tagName;
   }
   var isLink = (theObj == 'A');
   if (flag && (!isLink || ((Math.abs(x-x1) > 10) || (Math.abs(y-y1) > 10))))
   {
      copyAttempt = 1;
      flag = 0;
      alert(msg);
      return false;
   }
}

function clearIt()
{
   flag = 0;
   if (copyAttempt)
   {
      copyAttempt = 0;
      return false;
   }
}
-->
</script>
</head>
<body onLoad="init()">
<br>
<img src="MIT_BILLEDE.GIF">
<br>
Beskyttet billede.
</body>
</html>


..dette sidste script har den fordel, det virker i alle browsere

</MOLOKYLE>

Kommentar
Fra : molokyle


Dato : 20-01-05 11:56

Måske du kan prøve dette : http://www.freedownloadscenter.com/Web_Authoring/Scripting_Tools/No_Right_Click.html

???

Jeg har ikke selv testet det !

</MOLOKYLE>

Kommentar
Fra : Dinah


Dato : 20-01-05 12:25

Molelyle.

Jeg vil bruge dette.

<body oncontextmenu="return false;" onselectstart="return false;" ondragstart="return false;">


Kan jeg ligge det ind i min Css (style) fil? Hvordan gør jeg. Jeg har prøvet at ligge det under body derinde men det virker ikke.



Kommentar
Fra : molokyle


Dato : 20-01-05 18:07

Det er ikke CSS. Det er en 'extended' DOM feature, så vidt jeg ved kun implementeret i Microsoft IE 5+ og NS 6+ browserne.

1.) http://www.mozilla.org/docs/dom/domref/dom_event_ref33.html
2.) http://www.w3schools.com/htmldom/default.asp

Dermed kan HTML DOM egenskaben selvfølgelig manipuleres vha. Javascript, men er det ikke at skyde gråspurve med kanoner at inkludere et sådant externt javascript script for blot at angive et par events i <body> markøren ?

Hvis du genererer HELE sidens indhold fra en Javascriptfil, skriver du blot :

Kode
<!--
document.write("<html><head><title>Eksempel</title></head>");
document.write("<body oncontextmenu='return false;' onselectstart='return false;' ondragstart='return false;'>");
document.write("..øvrigt HTML indhold..");
document.write("</body></html>);
//-->


BEMÆRK ..de indlejrede 'enkelte anførselstegn' i <body> event parametrene !!!

</MOLOKYLE>

Godkendelse af svar
Fra : Dinah


Dato : 23-01-05 14:52

Tak for svaret molokyle.
                        

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409071
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste