2016-05-21 5 views
0

Ein Problem mit Firefox 46, auf allen anderen Browsern funktioniert es gut. Beim Verlassen der Seite stelle ich die folgende Frage. Firefox ignoriert es vollständig. Hilfe bitte!window.onbeforeunload funktioniert nicht mit Firefox 46 in einem Popup-Fenster, alle anderen Browser funktionieren

window.onbeforeunload = ThisCheckExittingPage; 

var ThisCheckExitWindow = 1; 

// Checks before exitting 
// ThisCheckExitWindow = 1; 

// Does NOT check before exitting 
// ThisCheckExitWindow = 0; 

function ThisCheckExittingPage() { 

    if (ThisCheckExitWindow == 1) 
    { 
     return "You are about to exit this page."; 
    } 
} 
+0

WFM auf PaleMoon 26.2.1 (verwendet eine neue Gabel von Gecko), also ist es wahrscheinlich etwas Neues. Wenn es sich bei der Seite um ein Popup handelt, muss es sich um https://bugzilla.mozilla.org/show_bug.cgi?id=681636 handeln. –

+0

Ja, das Skript wird in einem Popup ausgeführt. Ich sehe, also war es schon eine ganze Weile in Firefox. – Ben

Antwort

0

Das sieht aus wie nach Design, wie WindowEventHandlers.onbeforeunload - Web APIs | MDN hat diese Notiz:

unerwünschte Pop-ups zu bekämpfen, Browser erstellt Aufforderungen in beforeunload Event-Handler kann nicht angezeigt werden, wenn die Seite interagierten wurde mit. Firefox hat diese Richtlinie seit Firefox 44 (Bugzilla) implementiert.

Als relevant patch zeigt, ist die mUserHasInteracted Flagvariable wird gesetzt, nachdem eine Maus oder Tastaturereignis in dem Fenster passiert.

+0

Danke dafür. – Ben

+0

@Ben also, haben Sie getestet, ob der Handler ausgelöst wird, nachdem Sie mit dem Fenster interagieren? –

+0

Hallo, nach der Interaktion, noch nicht feuern ... – Ben

Verwandte Themen