Onbeforeunload不适用于Chrome/Firefox,但适用于IE



我为onbeforeunload写了一段代码。它适用于IE,但不适用于任何其他浏览器。

var unloadFunction = function(){return "";}
window.addEventListener('beforeunload', unloadFunction); 

此代码可能出现的问题。:(我无法理解。我希望这在所有浏览器中都能工作,以便在页面存在之前向用户显示确认弹出窗口。

卸载前处理由于网页行为不端而被引入,因此已被修改。结果,浏览器可能会也可能不会在卸载事件处理期间抑制警报。

有关详细信息,请参阅MDN,但请注意,提到的returnValue是事件对象的属性,而不是从事件处理程序函数返回的值。

以下示例在主要浏览器和IE中运行(至少适用于windows 10(。

  • Firefox和IE报告了event.returnValue中提供的消息
  • Chrome忽略了这条消息,只是简单地询问

    离开网站
    您所做的更改可能不会保存。

  • 只有IE显示了警告框

var unloadFunction = function( event){
event.returnValue = "do you really want to leave this page";
alert("unloading");
};
window.addEventListener('beforeunload', unloadFunction);

最新更新