»» » Oder du hast eine Endlosschleife.
»»
»» "Angehalten" klingt nicht wirklich nach Endlosschleife.
OK, ich hab's mal ausprobiert.
Das ist wohl ein Bug.
Da du window.stop() an einer falschen Stelle benutzt. Du rufst window.stop() auf, bevor eine Seite geladen wird. onunload feuert ja bevor die aktuelle Seite entfernt wird. Anscheinend kommt aber der Aufruf trotzdem während der Phase ziwschen dem entfernen der alten Seite und dem aufbauen der neuen Seite an. Ein Zeichen dafür ist, dass die alte Seite entfernt wurde und keine neue aufgebaut wird.
Sofort nach "onunload" sollte die neue Seite ja schon unterwegs sein, was dann mit "window.stop()" abzubrechen wäre. Zumindest war das meine Idee. Das die Idee so schlecht nicht war, sieht man daran, daß es beim IE funktioniert:
<html>
<head>
<title>Test</title>
<script type="text/javascript">
seitenwechselOk=false;
function seitenwechselPruefen() {
if (!seitenwechselOk) {
document.execCommand('Stop');
history.forward();
}
}
</script>
</head>
<body onunload="seitenwechselPruefen();">
<a href="javascript:seitenwechselOk=true;history.back();">
zurück
</a><br>
</body>
</html>
Du bewegst dich also in Räumen, wo noch nie ein Mensch vor dir war ;-). In einer Art Zwischenzeit. Das die Browser da unkontrolliert reagieren, mag nicht verwundern. Sollte aber nicht sein, ist es also ein Bug. Der Aufruf von window.stop() sollte an der stelle gar nichts machen.
Doch, er sollte das machen, was ich gerne hätte. Dann wäre mein Problem gelöst :)
Struppi.
Gruß
RichClient