簡體   English   中英

Javascript注冊窗口/選項卡之前關閉窗口/選項卡事件

[英]Javascript register window/tab closing event before window/tab close

這曾經/可能曾經被問過,但是據我所記得,當時的問題還不能令人滿意^^

如何使用Javascript注冊窗口或標簽關閉事件? 我曾嘗試body.onclose和body.onunload,和數十人的名字我做了我自己,認為他們有可能會存在,但沒有它的工作,或者,如果它沒有,它只能在窗口之后解雇或選項卡已被關閉。

問題:在關閉窗口或選項卡之前 ,有什么方法可以注冊此類事件? 只要與Firefox兼容,它甚至不需要與所有瀏覽器兼容。

window.onbeforeunload = function (e) {
  var e = e || window.event;

  // For IE and Firefox
  if (e) {
    e.returnValue = 'Any string';
  }

  // For Safari
  return 'Any string';
};

我們沒有Onclose,但我們有OnbeforeUnload。 即使我正在尋找相同的事件,但沒有運氣。

卸載和beforeUnload對“頁面緩存”(也稱為“后向緩存”)有負面影響。 這是一個特殊的緩存,當您離開頁面導航時,它會保留一些額外的狀態,以便在您導航“后退”(或關閉選項卡)時可以無縫地重新設置它。 如果您想知道為什么某些表單字段在單擊時會保留其內容,而有些卻沒有,則這通常是原因的一部分。

您可能應該看看FirefoxWebKit中的“ pageshow”和“ pagehide”事件。 IE沒有等效的頁面緩存,因此在那種環境下,您應該可以在使用之前/之前使用它。 盡管Opera早期很擔心 ,但pageshow和pagehide仍被納入HTML5規范

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM