Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

 <<   zurück
JavaScript und AJAX von Christian Wenz
Das umfassende Handbuch
Buch: JavaScript und AJAX

JavaScript und AJAX
839 S., mit DVD, 39,90 Euro
Rheinwerk Computing
ISBN 3-89842-859-1
gp Kapitel 27 Code schützen
  gp 27.1 Quellcode einsehen
    gp 27.1.1 Menübefehle
    gp 27.1.2 Tastenkürzel
    gp 27.1.3 Kontextmenü
    gp 27.1.4 Dateisystem
  gp 27.2 Code im Frame verstecken
  gp 27.3 Mausklick verhindern
  gp 27.4 Code codieren
    gp 27.4.1 Optisch verschleiern
    gp 27.4.2 Inhaltlich verschleiern
  gp 27.5 Dateien auslagern
  gp 27.6 Caching verhindern
  gp 27.7 Code serverseitig generieren


Rheinwerk Computing

27.3 Mausklick verhindern  toptop

Mit JavaScript lassen sich Fenster ohne Menüleiste erstellen (siehe Kapitel 8). Die naheliegendste Variante, auf den Quelltext zuzugreifen, besteht dann in der Verwendung des Kontextmenüs. Dazu muss die rechte Maustaste betätigt werden. Diesen Mausklick kann man bei Browsern ab Version 4 abfangen:

gp  Für den Internet Explorer muss aufgrund des dortigen Event-Handlings beim Eintreten der Ereignisse mousedown und mouseup die entsprechende Behandlungsfunktion aufgerufen werden:
if (document.all) {
   document.onmouseup = kein_kontext;
   window.onmouseup = kein_kontext;
}
gp  Für Mozilla-Browser muss die Funktion ebenfalls mit den Event-Handlern verknüpft werden; zusätzlich jedoch wird die Funktion captureEvents() benötigt:
if (document.getElementById) {
   window.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP)
   window.onmousedown = kein_kontext;
   window.onmouseup = kein_kontext;
}
gp  Die Funktion kein_kontext() fragt zunächst ab, ob Maustaste 2 oder 3 gedrückt worden ist (je nach Browser hat die rechte Maustaste eine andere Nummer). Falls ja, wird eine Warnmeldung ausgegeben und die Funktion mit return false verlassen. So wird sichergestellt, dass das Ereignis nicht an den Browser weitergereicht wird, der dann das Kontextmenü öffnen würde.
function kein_kontext(e) {
   if (document.all) {
      if (event.button >= 2) {
         alert("Kein Rechtsklick!");
         return false;
      }
   } else if (document.getElementById) {
      if (e.which >= 2) {
         alert("Kein Rechtsklick!");
         return false;
      }
   } else {
      return true;
   }
}

Nachfolgend finden Sie das gesamte Skript, wieder in einer Funktion gekapselt, zum einfachen Einbau in Ihre HTML-Seiten:

function codeschutz_kontext(){
   if (document.all) {
      document.onmouseup = kein_kontext;
      window.onmouseup = kein_kontext;
   } else if (document.getElementById) {
      window.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP)
      window.onmousedown = kein_kontext;
      window.onmouseup = kein_kontext;
   }
}

function kein_kontext(e) {
   if (document.all) {
      if (event.button >= 2) {
         alert("Kein Rechtsklick!");
         return false;
     }
   } else if (document.getElementById) {
      if (e.which >= 2) {
         alert("Kein Rechtsklick!");
         return false;
      }
   } else {
      return true;
   }
}

Der Einbau in ein HTML-Dokument gestaltet sich sehr einfach. Die Funktion muss nur eingebunden und aufgerufen werden:

<html>
<head>
<title>Codeschutz</title>
<script language="JavaScript" src="codeschutz.js"></script>
<script language="JavaScript"><!--
codeschutz_kontext();
//--></script>
</head>
<body oncontextmenu="return false;">
</body>
</html>

Abbildung
Hier klicken, um das Bild zu Vergrößern

Abbildung 27.5     Die »Fehlermeldung« bei einem Rechtsklick

Der Event-Handler oncontextmenu ist ein Feature ab Internet Explorer 5.0. Dieser Event-Handler wird aktiv, sobald das Kontextmenü aufgerufen wird. Durch return false; kann dies sinnvoll unterbunden werden – in halbwegs aktuellen Versionen des Internet Explorers, wohlgemerkt.

Gegen das oben vorgestellte Skript gibt es die folgenden Gegenmittel:

gp  Deaktivierung von JavaScript
gp  Menübefehl (Ansicht N Quelltext anzeigen beim Internet Explorer, Ansicht N Seitenquelltext bzw. View N Page Source im Mozilla)
gp  Tastenkürzel ((Strg)+(U) im Netscape)
gp  Verwendung einer speziellen Taste auf Windows-Tastaturen (außer beim Internet Explorer mit oncontextmenu="return false;")
gp  Durchsuchen des Browser-Caches
 <<   zurück
  
  Zum Rheinwerk-Shop
Neuauflage: JavaScript
Neuauflage: JavaScript
bestellen
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchtipps
Zum Rheinwerk-Shop: jQuery






 jQuery


Zum Rheinwerk-Shop: Einstieg in JavaScript






 Einstieg in JavaScript


Zum Rheinwerk-Shop: Responsive Webdesign






 Responsive Webdesign


Zum Rheinwerk-Shop: Suchmaschinen-Optimierung






 Suchmaschinen-
 Optimierung


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2007
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern