Oseye: Rechtsklick und STRG+C erkennen, aber nicht verhindern!

Hallo zusammen,

ich suche nach einem JavaScript mit dem ich Rechtsklick bzw. Verwendung von Tastenkombination STRG+C erkennen kann, aber nicht verhindern. Gewünschte Verhaltensweise:

Skript "lauscht" auf die beiden Ereignisse im gesamten Dokument, sobald eins davon eingetreten ist, kommt ein Alert-Message, das man bestätigen muss. Nach der Bestätigung muss alles normal weiter funktionieren. Das heißt, entweder Standard-Kontextmenü des Browsers angezeigt (beim Rechtsklick) oder eben der Inhalt der Seite mit STRG+C wie erwartet in die Zwischenablage kopiert.

Das heißt, dass ich NICHTS verhindern möchten. Ich möchte nur mit einer Nachricht auf etwas :) hinweisen und dem Benutzer überlassen, ob er dieser Nachricht folgt oder nicht.

Natürlich sollte es in IE, Fifefox und Opera funktionieren. Und ja, ich weiß, dass man JavaScript abschalten kann. Es ist keine lebenswichtige Funktion auf der Seite und wenn diese manchmal nicht geht, ist auch OK.

Leider finde ich nur die Skripts, die Rechtsklick und Kopieren in den Seiten komplett blockieren und genau das will ich nicht. Ich will nur "dazwischen quatschen" :) ohne etwas zu unterbrechen oder zu unterbinden.

Für Links, Tipps und ausbaufähige Beispiele bin ich im voraus dankbar!
Oseye

  1. Leider finde ich nur die Skripts, die Rechtsklick und Kopieren in den Seiten komplett blockieren und genau das will ich nicht. Ich will nur "dazwischen quatschen" :) ohne etwas zu unterbrechen oder zu unterbinden.

    Auf welche Hindernisse bist du gestoßen, als du diese Scripte analysiert hast?

    1. Auf welche Hindernisse bist du gestoßen, als du diese Scripte analysiert hast?

      Tja, ich war zu faul die "Hindernisse" zu beschreiben, also habe ich das Skript geschrieben.

        
      <script type="text/javascript">  
        
                  var clicked = false;  
                  function caution(evt)  
                  {  
                      if(!clicked) {  
                          var message = "See it once!";  
                          clicked = true;  
                          if (!evt) {  
                              alert(message);  
                          } else {  
                              var disabled = {a:0, c:0, x:0, v:0};  
                              var ctrlMod = (window.event)? window.event.ctrlKey : evt.ctrlKey;  
                              var key = (window.event)? window.event.keyCode : evt.which;  
                              key = String.fromCharCode(key).toLowerCase();  
                              alert(message);  
                          }  
                      }  
                  }  
        
              </script>  
      
      

      Aufgerufen wird das ganze im body Tag:

        
      <body oncontextmenu="return caution()" onKeyPress="return caution(event);"  
                onKeyDown="return caution(event);" oncopy="return caution(event)">
      

      Achtung, das Script ist nur in IE8, Firefox und Opera10 getestet. Ich brauche schnelle Lösung, daher habe ich keine Tests in anderen Browser gemacht. Wenn jemand das Skript testen möchten, dann bin ich dankbar für die Rückmeldung.

      Ahoi,