【问题标题】:Javascript: Programmatically trigger onbeforeunload/onunload eventJavascript:以编程方式触发 onbeforeunload/onunload 事件
【发布时间】:2015-07-18 20:41:42
【问题描述】:

如何以编程方式触发 onbeforeunload 和 onunload 事件?(请不要使用 jquery)。我试过了:

var event = new Event('onbeforeunload');
event.initEvent("onbeforeunload", true, true);
window.document.dispatchEvent(event);

【问题讨论】:

标签: javascript events onbeforeunload


【解决方案1】:
window.dispatchEvent(new Event('beforeunload'))

我认为这将是 2020 年最好的方式。以防万一有人发现。

window.addEventListener('beforeunload',()=>{console.log("beforeunload triggered")})
window.dispatchEvent(new Event('beforeunload'))

【讨论】:

    【解决方案2】:

    任意使用

    object.onunload=function(){myScript};
    

    或 addEventListener() 方法:

    object.addEventListener("unload", myScript);
    

    触发事件使用 对象.unload();

    【讨论】:

    • 假设我们有window.onbeforeunload=function(){return "you are leaving";},如果我调用window.onbeforeunload,不会弹出警告框,但是如果我调用window.location = 'http://someotherdomain.com',最终会触发onb​​eforeunload,我会看到一个弹出框带有字符串“你要离开”。那么有没有一种方法可以模拟我们关闭窗口时完全离开页面的情况?!(显然我不是在寻找 window.close())
    • 我认为问题在于以编程方式触发 onbeforeunload 创建的浏览器确认。这个答案并没有真正做到这一点。
    猜你喜欢
    • 2011-03-30
    • 1970-01-01
    • 2012-03-30
    • 2017-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多