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

时间:2012-06-05 19:39:22

标签: 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;
}

1 个答案:

答案 0 :(得分:0)

我遇到了Chrome的相关问题,并使用jQuery解决了这个问题:

$(window).unload( function() {
   //Call your function
   page_unload();
});

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