Chrome窗口onunload事件

时间:2012-09-25 11:45:53

标签: javascript events google-chrome

我正在尝试执行以下代码

window.onunload = function () { 
     var sTag = document.createElement('script'); 
     sTag.src = 'mysrc'; 
     document.getElementsByTagName('head')[0].appendChild(sTag); 
     return false; };
}

看起来在FF中可以正常工作但在chrome中我会在解除unload事件后立即取消下载状态。我在使用ajax解决方案的SO中看到了一些帖子,但我在跨域iframe中执行此脚本。我只想在每个访客的页面中记录我的api所在的时间。所以,我正在发送关于页面卸载的时间日志信息。上面有什么工作吗?

1 个答案:

答案 0 :(得分:0)

出于您所描述的目的,您可以在页面或父窗口中加载该脚本(您说这是一个iframe吗?)并在window.unload上运行一个函数:

window.onunload = function(){
   window.top.logtime(); // if it is in the parent, or 
   window.logtime() //if it is in the same window
};

并且不返回false,unload事件无法取消。 (在最好的情况下,用户会获得一个警告对话框,该对话框将覆盖返回的false语句。)

我认为这与众不同的是它在身体卸载之前执行新功能的速度有多快。操纵DOM肯定比拨打电话慢得多。