gpt4 book ai didi

javascript - 跨浏览器onbeforeunload?

转载 作者:IT王子 更新时间:2023-10-29 03:11:47 25 4
gpt4 key购买 nike

是否window.onbeforeunload()在所有浏览器中触发?我需要一个至少由 IE6 和 FF3.6 支持的 onbeforeunload 功能。

对于 IE,onbeforeunload() 似乎只是 supported by IE9

最佳答案

我找到了一个使用 setTimeout 函数的 Firefox 解决方法,因为它的行为与其他网络浏览器不同。

window.onbeforeunload = function (e) {
var message = "Are you sure ?";
var firefox = /Firefox[\/\s](\d+)/.test(navigator.userAgent);

if (firefox) {
//Add custom dialog
//Firefox does not accept window.showModalDialog(), window.alert(), window.confirm(), and window.prompt() furthermore
var dialog = document.createElement("div");
document.body.appendChild(dialog);
dialog.id = "dialog";
dialog.style.visibility = "hidden";
dialog.innerHTML = message;
var left = document.body.clientWidth / 2 - dialog.clientWidth / 2;
dialog.style.left = left + "px";
dialog.style.visibility = "visible";
var shadow = document.createElement("div");
document.body.appendChild(shadow);
shadow.id = "shadow";
//tip with setTimeout
setTimeout(function () {
document.body.removeChild(document.getElementById("dialog"));
document.body.removeChild(document.getElementById("shadow"));
}, 0);
}

return message;
}

GitHub:https://github.com/Aelios/crossbrowser-onbeforeunload

关于javascript - 跨浏览器onbeforeunload?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7389554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com