rechte Maustaste deaktivieren ohne Alert-Meldung
Frank
- javascript
Hallo,
es ist mal wieder die Geschichte mit der Maus ...
Die rechte Maustaste soll per JavaScript deaktiviert werden - diesen Fall hatten wir ja bereits mehrmals.
Neu ist, daß es *ohne* eine Aktion auszulösen (wie beispielsweise eine Alert-Meldung) funktionieren muß.
Die Frage ist nun, was anstelle des 'üblichen' Alert-Fensters Verwendung finden kann.
Irgendwelche Anregungen?
Frank
Hallo,
ich kenne jetzt keinen rechte-maustasten-abschalt code, und ich finde sie sinnlos und dumm, aber wie wäre es wenn du den alert einfach weglöscht?
gruß,
Severin
ich kenne jetzt keinen rechte-maustasten-abschalt code, und ich finde sie sinnlos und dumm, aber wie wäre es wenn du den alert einfach weglöscht?
Tja Severin,
dann passiert genau das, was nicht passieren soll: Das Kontextmenü wird angezeigt.
Im übrigen finde ich Eingriffe wie das Abschalten der rechten Maustaste im Internet sehr lästig; im vorliegenden Fall ist es jedoch eine Notwendigkeit, und der Einsatz erfolgt zudem im geschlossenen Intranet.
Hallo,
also ich hab mir jezt mal einen anti-rechtsclick-code heruntergeladen und der scheit (in IE6 +moz 1.2.1 ) zu funktionieren, auch ohne alert.
var message="Function Disabled!";
///////////////////////////////////
function clickIE4(){
if (event.button==2){
return false;
}
}
function clickNS4(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=clickNS4;
}
else if (document.all&&!document.getElementById){
document.onmousedown=clickIE4;
}
document.oncontextmenu=new Function("return false");
du musst ihn wahrscheinlich noch ein bisschen entwirren etc, aber ich hoffe es hilft dir trotzdem.
gruß,
Severin
Problem gelöst;-)
Für alle, die's interessiert:
Der Body-Tag wird einfach um folgende Parameter erweitert:
body oncontextmenu="return false" ondragstart="return false" onselectstart="return false"
Moin!
Problem gelöst;-)
Für alle, die's interessiert:
Der Body-Tag wird einfach um folgende Parameter erweitert:
body oncontextmenu="return false" ondragstart="return false" onselectstart="return false"
Funktioniert aber zum Glück nur im IE - sofern ein Proxy das nicht ohnehin vorher wieder rausfiltert.
:o)
- Sven Rautenberg
Hallo,
Funktioniert aber zum Glück nur im IE
...und im Mozilla(sic!). Zumindest das oncontextmenu. Über die anderen
Event-Handler weiß ich nicht bescheid.
Gruß
Slyh
Moin Moin !
Vielleicht so?
<body onload="alert('Um diese Seite korrekt anzuzeigen, ist es erforderlich, daß Sie die rechte Maustaste (und ggf. weitere) herausbrechen. Linkshänder entfernen stattdessen bitte die linke Taste. Auch Tasten von Trackpad, Trackpoint, Trackball und anderen Maus-Ersatz-Geräten gelten als Maustasten in diesem Sinne. Auch ist das Benutzen jeglicher Tastatur-Shortcuts zur Anzeige des Kontextmenüs verboten. Zuwiderhandlungen werden juristisch verfolgt.')">
<noscript>
Das Betrachten dieser Webseite ohne aktiviertes Javascript ist nicht gestattet und wird juristisch verfolgt. Bitte aktivieren Sie umgehend Javascript, um der Strafverfolgung zu entgehen.
</noscript>
Alexander
Hi,
<body onload="alert('Um diese Seite korrekt anzuzeigen, ist es erforderlich, daß Sie die rechte Maustaste (und ggf. weitere) herausbrechen. Linkshänder entfernen stattdessen bitte die linke Taste. Auch Tasten von Trackpad, Trackpoint, Trackball und anderen Maus-Ersatz-Geräten gelten als Maustasten in diesem Sinne. Auch ist das Benutzen jeglicher Tastatur-Shortcuts zur Anzeige des Kontextmenüs verboten. Zuwiderhandlungen werden juristisch verfolgt.')">
halte ich nicht für sinnvoll. Der Benutzer muß mit confirm() vor die Wahl gestellt werden, ob er die Seiten ansehen will oder nicht. im "Nein"- oder "Abbrechen"-Fall erfolgt dann eine Weiterleitung auf - ja, auf was denn? - vielleicht http://www.fast.org.uk/ oder ähnliche Seiten.
Nun stellt sich allerdings die Frage, ob dieser wirkungsvolle Schutz auf jeder Seite eingebaut werden soll, oder ob man sich der Bequemlichkeit der Besucher halber auf eine Sessionlösung beispielsweise mit PHP einläßt, wobei allerdings das Risiko besteht, daß subversive Elemente Javascript nach der Startseite abschalten. Eventuell wäre dann zu überlegen, die Seiteninhalte mittels externer Javascript-Dateien dynamisch zu schreiben...
<noscript>
Das Betrachten dieser Webseite ohne aktiviertes Javascript ist nicht gestattet und wird juristisch verfolgt. Bitte aktivieren Sie umgehend Javascript, um der Strafverfolgung zu entgehen.
</noscript>
Das ist gut, sollte aber noch mit <b> undf <u> ausgeschmückt werden, um den Ernst der Lage zu unterstreichen.
Schönen Gruß aus Bilk
Rainer
Moin,
Die Frage ist nun, was anstelle des 'üblichen' Alert-Fensters Verwendung finden kann.
Das kommt darauf an in welchem Event-Modell du dich grade befindest:
a) Die Uralten: Im Eventhandler false zurückgeben.
b) Die IE-Möchtegern-DOM-Simulation (aka document.all): Die Eigenschaft returnValue des Event-Objekts auf false setzen.
c) Document Object Model Level 2 Events (zur Zeit also fast nur Mozilla und darauf basierende Browser): Die Methode preventDefault() des Event-Objekts aufrufen.
Im Übrigen sollten auf gar keinen Fall, also nie und nimmer, also überhaupt keine Rechten Mausklick-Abbruch-Skripte im World Wide Web eingesetzt werden.