2016-07-20 13 views
1

Ich benutze Firefox ESR 45.2 und ich benutze window.onbeforeunload, um dem Benutzer eine Wahl zu geben, die Seite zu verlassen oder darauf zu bleiben, wenn Er verlässt das Fenster. Dies ist mein Code:Firefox: window.onbeforeunload funktioniert nicht, wenn ich Entwicklerwerkzeuge einmal öffne und schließe

window.onbeforeunload = function (e) { 
    var e = e || window.event ; 
    // For Firefox and IE 
    if (e) { 
    e.ReturnValue = 'Any string' ; 
    } 
    // For Safari 
    return 'Any string' ; 
} 

Aber das Problem ist, dass in Firefox, wenn ich die Entwicklertools einmal öffnen und schließen Sie es dann, wird der Code nicht. Ich sah auch in dieser Frage

Why does JavaScript only work after opening developer tools in IE once?

Und ich entfernt alle console.logs. Aber das window.onbeforeunload funktioniert immer noch nicht. Was könnte das Problem sein?

Antwort

2

Gemäß der Dokumentation dies geschehen, weil firefox keine Eingabeaufforderungen angezeigt, wenn die Seite mit

https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload

somit war nicht notwendig zu öffnen und die Entwickler-Tools nur einmal, sondern eine Wechselwirkung mit der interagierten worden Seite war notwendig, als würde man auf die Seite klicken.

+0

Vielen Dank! Ich habe mir dabei die Haare ausgerissen. :) – Kris