window.onbeforeunload und window.location.href in IE

8

Wir verwenden window.location.href, um den Benutzer zu einer Seite zu navigieren. Außerdem haben wir das window.onbeforeunload-Ereignis so konfiguriert, dass Benutzer gewarnt werden, falls noch nicht gespeicherte Änderungen vorliegen.

%Vor%

An Stellen, an denen ungespeicherte Änderungen vorhanden sind, und ich versuche, window.location.href zu verwenden, um durch den Benutzer zu navigieren, erhalte ich die Warnmeldung.

Es funktioniert gut, wenn ich im Popup auf OK klicke. Wenn ich jedoch auf ABBRECHEN klicken, löst die JS einen unspezifizierten Fehler bei window.location.href.

aus

Jede Hilfe ist willkommen.

    
Zuber 23.03.2010, 12:41
quelle

1 Antwort

11

Ich habe dieses Problem auch erlebt (in IE7 und höher, nicht in IE6).

Die einzige Lösung, die ich finden konnte, war das Wrappen des Aufrufs window.location.href in einen try / catch-Block.

Das folgende ist ein vollständiges Beispiel, das das Problem reproduziert. Wenn Sie das try / catch auskommentieren, funktioniert es in allen Browsern wie gewünscht.

JavaScript (in HTML-Kopf):

%Vor%

HTML:

%Vor%     
Nick 28.04.2010, 18:49
quelle

Tags und Links