onunload无法在Chrome和Safari中使用

pra*_*nth 12 html javascript webkit

我有父页面和子页面.在子页面正文标记我有下面的代码.

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

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

unload事件在IE和FF中正确引发.但它并没有提高铬和野生动物园.

请帮我.

Joa*_*uer 12

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

你可能会考虑更换使用unloadpagehide事件.

有关深入讨论,请参阅此博客文章.


小智 7

卸载适用于现代浏览器,但例如您无法启动警报.见:http: //bugs.jquery.com/ticket/10509

另外,如果你想在卸载时使用$ .get或$ .post,最好使用$ .ajax和async = false.

例如:

$(window).unload(function() {
            $.ajax({
              url: '/some_url.htm',
              async: false
            });
    });
Run Code Online (Sandbox Code Playgroud)


zat*_*ata 5

也许试试onbeforeunload活动?