选项卡(或浏览器)关闭时Chrome onbeforeunload事件

Nik*_*Nik 8 javascript google-chrome onbeforeunload

我正在尝试在用户离开(关闭)浏览器或页面时运行一个功能,并且我已经在除Chrome之外的所有浏览器中使用它.

如果我离开页面,Chrome会成功运行该功能,但如果我关闭选项卡或完全关闭浏览器,则Chrome不会运行该功能.

我在最后运行的函数创建了一个图像并将一些数据发送到我的服务器(类似于任何分析报告)示例:img.src ="url?data = yyy".此图像是使用js动态创建的.

有人可以解释问题可能是什么?我把它缩小到几个原因:

1)当标签关闭时(即不是在卸载之前)我没有使用正确的事件

2)Chrome实际上运行该功能,但由于浏览器/页面关闭,图像无法发送.

任何帮助表示赞赏.谢谢.

这是示例代码:

if(window.addEventListener){
   window.addEventListener("beforeunload", page_unload, false);         
}
function page_unload(){
    var img     = new Image();
    var img_src = "http://www.myurl.com?data=yyy"
    img.src = img_src;
}
Run Code Online (Sandbox Code Playgroud)

Jor*_*rez 0

我有一个与 Chrome 相关的问题,并使用 jQuery 解决了它:

$(window).unload( function() {
   //Call your function
   page_unload();
});
Run Code Online (Sandbox Code Playgroud)

由于某些原因,在 JavaScript beforeunload 无法正常工作的某些情况下,jQuery unload 事件在 Chrome 中工作得更好。