Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript onunload不在Chrome和safari中工作_Javascript_Html_Webkit - Fatal编程技术网

Javascript onunload不在Chrome和safari中工作

Javascript onunload不在Chrome和safari中工作,javascript,html,webkit,Javascript,Html,Webkit,我有父页面和子页面。在子页面主体标记中,我有以下代码 <body onunload="window.g_autoclosed=true;if(window.opener&&window.opener.NavModelessClose){window.opener.NavModelessClose(window,false);}"> 当我单击父页面中的按钮时,子页面应该关闭并调用onunload事件 卸载事件在IE和FF中正确引发。但它并没有在chrome和sa

我有父页面和子页面。在子页面主体标记中,我有以下代码

<body onunload="window.g_autoclosed=true;if(window.opener&&window.opener.NavModelessClose){window.opener.NavModelessClose(window,false);}"> 

当我单击父页面中的按钮时,子页面应该关闭并调用onunload事件

卸载事件在IE和FF中正确引发。但它并没有在chrome和safari中提升


请帮帮我。

现代WebKit浏览器不一定会在页面隐藏时触发
unload
事件。这样做是为了改进缓存

可以考虑使用<代码>卸载< /代码>使用<代码>页隐藏< /代码>事件。


请参阅。

可能尝试
onbeforeunload
事件?

是的,附加到窗口(或子页面的内部窗口)的onbeforeunload应该执行此操作

卸载在现代浏览器中工作,但例如,您无法启动警报。 见:

另外,如果要在卸载中使用$.get或$.post,最好使用带有async=false的$.ajax

例:

可能重复的
$(window).unload(function() {
            $.ajax({
              url: '/some_url.htm',
              async: false
            });
    });