2016-11-30 3 views
-2

Gibt es eine andere Möglichkeit, window.onbeforeunload Funktion aufzurufen?window.onbeforeunload, window.unload, window.beforeunload Funktionen funktionieren nicht in IE und Mozilla

+0

[ 'window.onbeforeunload'] (https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload #Browser_compatibility) wird definitiv unterstützt und funktioniert in den von Ihnen erwähnten Browsern. Es ist wahrscheinlicher, dass das Problem der Code ist, den Sie in dieses Ereignis eingefügt haben. Aber Sie haben uns das nicht gezeigt, also kann Ihnen niemand wirklich helfen –

+0

window.onbeforeunload = function (event) { parent.API.LMSFinish (""). Dann (function() { }) } // In LMSFinish ich rufe http hit. Aber es schlägt nicht diesen Anruf – sanjay

Antwort

1

Sie unter Code für Firefox und IE verwenden:

var myEvent = window.attachEvent || window.addEventListener; 
var chkevent = window.attachEvent ? 'onbeforeunload' : 'beforeunload'; /// make IE7, IE8 compitable 

myEvent(chkevent, function(e) { // For >=IE7, Chrome, Firefox 
    var confirmationMessage = 'Are you sure to leave the page?'; 
    (e || window.event).returnValue = confirmationMessage; 
    return confirmationMessage; 
}); 

UPDATE:

Wenn Ihr Anruf ist async das Fenster geschlossen und wird Ihr Anruf Feuer nicht. Sie haben einen Sync-Aufruf in diesem Fall, wie dies zu tun:

$.ajax({ 
    type: 'POST', 
    async: false, 
    url: '/clientarea/utils/record-time', 
    data: 'teid=' + teid + '&t=' + t 
}); 
+0

Sogar ich versuchte This.It wird in dieser Funktion, aber vor dem Aufruf der http-Hit-Fenster schließt – sanjay

+0

Nizza Code-Schnipsel - das sollte die akzeptierte Antwort in Sicht sein. – belafarinrod91

Verwandte Themen