Axel Richter: Ist es Möglich, das Aktualisieren durch F5 zu verhindern?

Beitrag lesen

Hallo,

und zu erwähnen, dass es sich um ein Programm handelt, würde nur dazu führen, die Manipultion aus dem Programm heraus und nicht aus der HTML-Seite heraus vorzuschlagen. Von dieser Vorgehensweise (aus dem Programm heraus) komme ich aber nun dazu, nachzufragen, ob es nicht auch von der Webseite her geht.

Nein.

Tastatur- und Mausereignisse werden vom System an die _Anwendung_, welche den focus hat, weitergereicht. Diese entscheidet dann, was sie damit macht. Bei Mausereignissen, wie zum Beispiel einem rechten Mausklick, werden vordefinierte Methoden abgearbeitet, die standardmäßig die Auswertung von mit JScript gesetzten Untermethoden (oncontextmenu) einbeziehen. Bei Tastaturereignissen ist das zwar auch so, allerdings werden einige Events offensichtlich mit return false nicht konsumiert, sondern trotzdem weitergeleitet.

Bsp:
<html>
<head>
<title>Onkeydown</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<script type="text/jscript">
<!--
function key() {
  alert(event.keyCode);
  event.cancelBubble = true;
  return false;
}
function mouse() {
  alert(event.type);
  return false;
}
//-->
</script>
</head>
<body oncontextmenu="return mouse();" onkeydown="return key();">
<input>
</body>
</html>

Steht der Cursor im INPUT-Element, werden die Tastaturereignisse über onkeydown geleitet und konsumiert. Es erscheinen keine Zeichen im INPUT. Aber [F5] wird eben trotz return false an die Application durchgereicht.

Übrigens funktioniert all das _nicht_ mehr im standard compliance mode, nur im quirks mode.

viele Grüße

Axel