按下浏览器停止按钮或ESC时停止JS

时间:2016-08-15 19:31:27

标签: javascript iframe cross-browser

所以我有这个页面加载了一个带有外部内容(不同域名)的iframe。 现在,以下脚本部分在iframe加载后5秒加载另一个JS函数:

document.getElementById('" . $hash . "').onload = function() {
window.setTimeout('kernelInit(\'" . $hash . "\')', 5000);
     if ($(this).height() == 0) {
     window.location = 'stop.html';
     }
     if ($(this).width() == 0) {
     window.location = 'stop.html';
     }
};

直到现在都很好。但是,用户可以单击浏览器停止按钮或按ESC键,从而防止iframe内容完全加载或根本不加载。所以上面的JS检查变得无用,因为它无法检查iframe内容是否完全加载,也没有用户手动停止加载。

我知道必须有一个解决方案。也许创建然后每隔X毫秒检查用户和服务器之间的连接?理论上如果取消(通过浏览器停止按钮或ESC键)应取消进一步加载任何JavaScript。 这里的目标是在导航停止或取消时不完成上述脚本。

任何指针? 感谢。

0 个答案:

没有答案