window.onclose函数
我用这个函数调用我的窗口关闭。
这是确认框弹出窗口。
if(confirm("Sure you want to close the window"); { // yes return to submit function } else { // no return to Other call function } window.onclose = function() { alert('yes'); }
在带有X符号的右上角窗口关闭时,我需要返回false。 我试图使用这个window.onclose
函数,但它没有弹出。
有人可以帮帮我吗?
不幸的是,弹出窗口没有你可以收听的任何关闭事件,但是当窗口关闭时,有一个关闭的属性是真的。 解决此问题的解决方案是启动计时器并每秒检查子窗口的关闭属性,并在窗口关闭时清除计时器。 这是代码:
var win = window.open('http://www.google.com','google','width=800,height=600,status=0,toolbar=0'); var timer = setInterval(function() { if(win.closed) { clearInterval(timer); alert('closed'); } }, 1000);
今天的浏览器没有“关闭”事件。
有一个onbeforeunload,但是在调用它时你不能做很多事情,尤其是你无法在没有用户同意的情况下阻止窗口关闭,如果你从正在关闭的页面尝试它们,大多数远程操作都会失败。
对于弹出窗口,您可以获取结束事件,并执行长操作,但仅在开启窗口中:
var w = window.open('popup.html'); w.onbeforeunload = function(){ // set warning message };
重要提示 :在最新版本的chrome中, onbeforeunload
仅允许您设置警告消息; 你可能没有运行额外的逻辑。