我正在尝试执行以下代码
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所在的时间。所以,我正在发送关于页面卸载的时间日志信息。上面有什么工作吗?
答案 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肯定比拨打电话慢得多。