it-swarm.com.de

Wie kann man den Mausklick auf eine Webseite deaktivieren?

Ich möchte den Mausklick auf eine HTML-Seite deaktivieren. Ich habe eine Seite, auf der der Benutzer die Details eingeben muss. Ich möchte nicht, dass der Benutzer das Menü sieht, das mit der rechten Maustaste angezeigt wird. Ich möchte vielmehr ein benutzerdefiniertes Menü anzeigen. Ich weiß, dass es einige Plugins gibt, die das tun. Aber meine Anforderung benötigt keine Plugins.

18
User 1034

Es ist unprofessionell, trotzdem funktioniert das mit aktiviertem Javascript:

document.oncontextmenu = document.body.oncontextmenu = function() {return false;}

Möglicherweise möchten Sie dem Benutzer auch eine Nachricht anzeigen, bevor Sie false zurückgeben.

Ich muss jedoch sagen, dass dies nicht generell erfolgen sollte, da dies die Benutzeroptionen einschränkt, ohne das Problem zu lösen (tatsächlich kann das Kontextmenü sehr einfach wieder aktiviert werden.).

Im folgenden Artikel wird warum besser erklärt, warum dies nicht getan werden sollte und welche anderen Maßnahmen zur Lösung häufig auftretender Probleme ergriffen werden können: http://articles.sitepoint.com/article/dont-disable-right -klicken

44
Andrea Zilio

Wenn Sie dies nur tun, um zu verhindern, dass Personen die Quelle Ihrer Seite anzeigen, funktioniert dies nicht, da sie immer eine Tastenkombination verwenden können, um sie anzuzeigen.

Zweitens müssen Sie JavaScript verwenden, um dies zu erreichen. Wenn der Benutzer JS deaktiviert hat, können Sie den Rechtsklick nicht verhindern.

Fügen Sie dies Ihrem Body-Tag hinzu, um Rechtsklicks zu deaktivieren.

<body oncontextmenu="return false;">
7
romiem

Sie können dazu das Ereignis oncontextmenu verwenden.

Wenn der Benutzer Javascript deaktiviert, können Sie damit nicht umgehen.

window.oncontextmenu = function () {
   return false;
}

wird das Rechtsklick-Menü deaktivieren.

6
rahul

<body oncontextmenu="return false;"> funktioniert für mich in Google Chrome. Nicht sicher über andere Browser.

Beachten Sie, dass nur jemand JavaScript deaktivieren muss, um das Kontextmenü trotzdem anzuzeigen.

6
cHao

Es gibt viele Beispiele dafür, die über Google gefunden werden können.

Benutzer können jedoch Javascript deaktivieren, um diese äußerst ärgerliche "Funktion" zu beenden. Ich denke, Sie sollten darüber nachdenken, bevor Sie es implementieren. Es wird nicht wirklich Ihren Inhalt schützen (wenn Sie dies erreichen wollen).

Es gibt einen Artikel hier , der zeigt, wie nervig und sinnlos es ist.

3
codingbadger

Bitte machen Sie das nicht, es ist sehr ärgerlich.

Das rechte Menü ist aus einem bestimmten Grund vorhanden, und es sollte dort verbleiben. Viele Browsererweiterungen fügen Einträge zum Rechtsklickmenü hinzu, und der Benutzer sollte es in der Lage haben, sie auf jeder von ihm besuchten Seite zu verwenden.

Darüber hinaus können Sie alle Funktionen des Rechtsklickmenüs auf andere Weise nutzen (Tastaturkürzel, Browsermenü usw.), sodass das Blockieren des Rechtsklickmenüs den Benutzer nur stört.

PS: Wenn Sie dem Drang, es zu blockieren, wirklich nicht widerstehen können, setzen Sie bitte kein Popup mit der Aufschrift "Kein Rechtsklick erlaubt".

1
nico
window.oncontextmenu = function () {
return false;
}

könnte dir helfen.

1
Simpal Kumar

Versuchen Sie folgendes: Schreiben Sie unten den Code auf den Körper und spüren Sie die Magie :)

body oncontextmenu="return false"
1
John

Sie können dies mit Javascript und/oder einem HTML-Attribut (was eigentlich ein Javascript-Ereignishandler ist) wie hier beschrieben tun: http://www.codeproject.com/KB/aspnet/Disabling_the_right_click.aspx

<script language="javascript">
document.onmousedown=disableclick;
status="Right Click Disabled";
Function disableclick(event)
{
  if(event.button==2)
   {
     alert(status);
     return false;    
   }
}
</script>

und

<body oncontextmenu="return false">
...
</body>
0
Nikunj Aggarwal

// Rechtsklick-Skript über Javascript-Code deaktivieren

<script language=JavaScript>
//Disable right click script
var message = "";
///////////////////////////////////
function clickIE() {
    if (document.all) {
        (message);
        return false;
    }
}

function clickNS(e) {
    if (document.layers || (document.getElementById && !document.all)) {
        if (e.which == 2 || e.which == 3) {
            (message);
            return false;
        }
    }
}
if (document.layers) {
    document.captureEvents(Event.MOUSEDOWN);
    document.onmousedown = clickNS;
} else {
    document.onmouseup = clickNS;
    document.oncontextmenu = clickIE;
}

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

Klicken Sie hier, um Semo zu sehen