+1

beforeunload - Fenster schließen verhindern, wenn nicht gespeichert wird

Steffen Schüssler (BO) vor 6 Jahren 0

In Imperia9 konnten wir uns noch an das beforeunload Event hängen. Da kam als ev.target noch der Speichern-Knopf an, so dass wir nur schauen mussten, ob ein "Button" angesprochen wurde, oder ob als event.target der BODY selber kam.

jQuery(window).bind("beforeunload", function (ev) {

  if (ev === undefined || (ev.target !== undefined && ev.target.activeElement !== undefined && ev.target.activeElement.tagName === "BODY")) {

    return "Durch diese Aktion könnten nicht gespeicherte Daten verloren gehen - sind Sie sicher?";

  }

}

In Imperia-10 scheint das Event durchgereicht zu werden bis zum Body, so dass al ev.target immer BODY kommt und wir nicht erkennen können, ob die Seite durch Speichern verlassen wird, oder durch Fenster-Schließen im Browser.


ZIEL: Verhindere generell ein Fenster-Schließen (was auch ein Seite verlassen ist) im Edit-Modus um nicht aus versehen Inhalte zu verlieren (unsere Redakteure schließen nämlich gerne nicht nur das preview-Fenster)

Hat jemand eine Lösung?