rechte Maustaste sperren oder Nachricht....

.holger

Lounge-Member
Da es oft gefragt wird hier ein kleines Script, dass bei einem Rechtsklick eine Nachricht ausgibt oder gar nichts macht. Man bekommt dadurch dann kein "rechte-Maustasten-menü". Hier das Script:

Code:
<script language="JavaScript"> 
<!-- 
var message="Copyright © "; 
function click(e) { 
if (document.all) { 
if (event.button == 2) { 
alert(message); 
return false; 
} 
} 
if (document.layers) { 
if (e.which == 3) { 
alert(message); 
return false; 
} 
} 
} 
if (document.layers) { 
document.captureEvents(Event.MOUSEDOWN); 
} 
document.onmousedown=click; 
// --> 
</script>

Dies schreibt ihr einfach zwischen <head> und </head> in der Zeile var message="Copyright © "; könnt ihr Eure eigene Nachricht eintragen. Wenn ihr die beiden Zeilen alert(message); aus dem Script löscht, dann kommt keine Nachricht.

Ich möchte dazu hier noch sagen, dass man so ein Script ganz einfahc umgehen kann (rechte Maustaste gedrückt halten und die Nachricht mit ENTER wegdrücken, danach die Maustaste loslassen und das normale Menü erscheint - auch ein ausschalten von JavaScript hilft hier schnell weiter) ausserdem läuft das Script nicht in allen Browsern.
 
auch eine lösung! unterdrückt das contextmenu für ie und ns

Code:
<script language=JavaScript> 
function rightIE()
{
	if (document.all)
	{
		return false;
	}
} 
function rightNS(e)
{
	if (document.layers || (document.getElementById && !document.all))
	{ 
		if (e.which == 2 || e.which == 3)
		{
			return false;
		}
	}
} 
	if (document.layers) 
	{
		document.captureEvents(Event.MOUSEDOWN);
		document.onmousedown = rightNS;
	} 
	else
	{
		document.onmouseup     = rightNS;
		document.oncontextmenu = rightIE;
	} 

document.oncontextmenu = new Function("return false") 
</script>


weiterhin kann man noch in den body dies setzen:
(geht aber nur für ie)

Code:
<body oncontextmenu="return false">
 
Um den Code mal auf den aktuellen Stand zu bringen:

entweder
HTML:
<script>
function onRightClick(ev){
	if(ev.button === 2){
		alert("Right click is not allowed.");
	}
	ev.preventDefault();
}
document.addEventListener("mousedown", onRightClick, false);
</script>
oder:
HTML:
<script>
document.addEventListener("contextmenu", function(ev){
	alert("Right click is not allowed.");
	ev.preventDefault();
}, false);
</script>

Es sei dazu gesagt, dass das Verhindern des Rechtsklicks als "Kopierschutz" nicht nur unwirksam, sondern auch äußerst nervend für den User ist und die Usability erheblich einschränkt.
 
Zurück
Oben