beforeunload auf IE 11 - Benutzer nicht auffordern, funktioniert nicht

Beim Hinzufügen eines Listeners zum globalen Fensterobjekt für dasbeforeunload Event, IE 11 (und 10) verhält sich nicht wie Chrome und Firefox.

Normalerweise geben Sie eine Zeichenfolge zurück, die zum Auffüllen der browsereigenen Eingabeaufforderung verwendet wird, oder Sie geben eine leere Zeichenfolge zurück, wenn das Dialogfeld den Benutzer nicht auffordern soll.

In IE 11 jedoch, wenn Sie eine leere Zeichenfolge zurückgeben und / oder das @ setzevt.returnValueei einer leeren Zeichenfolge wird das browserbasierte Dialogfeld "Abwesend navigieren" geöffnet und der Benutzer wird aufgefordert, zu bestätigen, dass er möglicherweise nicht gespeicherte Änderungen verlier

Gibt es eine Möglichkeit (ohne den Ereignis-Listener entfernen zu müssen), dass der Dialog nicht in IE 11 angezeigt wird?

Sieh mein JSFiddle (im IE - da dies in Chrome, Firefox und Safari ordnungsgemäß funktionieren sollte).

Hier ist die Quelle in der Geige:

var isDirty = false;
var message = '** You have unsaved changes. **'
window.addEventListener('beforeunload', function(evt){
  if(isDirty) {
    evt.returnValue = message;
    return message;
  }
  delete  evt.returnValue;
  return "";
});

Antworten auf die Frage(2)

Ihre Antwort auf die Frage