0
所以我有这个页面加载一个iframe与外部内容(不同的域名)。 现在下面的脚本部分加载另一个JS功能的iframe负载5秒后:当浏览器停止按钮或ESC按下时停止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。 此处的目标是在导航停止或取消时不完成上述脚本。
任何指针? 谢谢。
为什么你需要在一个iframe加载其他页面? –
广告显示在iframe中。用户可以通过激励来查看这些广告。如果用户停止加载广告,那么我们有问题。 – Ivan
正在加载的框架并不一定意味着广告正在显示。只要用户可以用一些自定义的CSS来隐藏它们。另一种方法是通过XHR通过服务器或其他允许跨域的服务器获取内容。 –