我正在处理这段代码。基本上,只要弹出窗口关闭,它就会返回一个console.log。使用.onbeforeunload
适用于除IE11之外的所有浏览器。使用IE11它有时会工作,有时根本不会调用。我没有做任何不同的事情,只需打开弹出窗口然后关闭它。我不知道如何解决这个问题,因为它很有气质。我已粘贴下面的功能代码。感谢
function open(config, refID, cb) {
var w = window.open(
config.baseURL,
"_blank",
"toolbar,scrollbars,resizable,top=250,left=250,width=599,height=500"
);
w.onbeforeunload = function () {
if (cb) cb()
};
}
答案 0 :(得分:0)
我真的不知道你是如何设法使你的代码工作的。它根本不会。问题是你不能像你正在尝试那样添加一个事件。您需要使用addEventListener
。我制作了一个简单的片段。 100%的工作时间。没有气质代码,如果这样的话甚至存在:)
function open(url, callback) {
// Open the window
var win = window.open(url, "popup", "toolbar=1, scrollbars=1, resizable=1, top=250, left=250, width=500, height=500");
// Add the event listener
win.addEventListener('beforeunload', function () {
if(callback) callback();
}, false);
}
// Opens the window, with the url and callback as arguments
open('whatever.html', function() {
console.log('hello!');
});
请记住,您需要在已打开的窗口网址上拥有权限,才能向其添加事件监听器。
希望它有所帮助。