我试图在 window.open 函数完全加载后调用一个函数。
然而,使用 onload 函数调用得太早了。所点击的 URL 将打开一个 Excel 电子表格,下载可能需要 2 秒到 1 分钟。
一旦 window.open 函数被调用,onload 函数就会被调用。但是,我需要知道 Excel 文档何时打开 - 而不是何时点击 URL。
我尝试设置一个时间间隔,但没有被调用:
w = window.open(url,'_parent',false);
w.onload = function(){
console.log('here');
setInterval(function(){
alert('Hi');
},10);
首先请注意,为了执行此操作而不因跨域限制而被阻止(或者不必在服务器上参数化 CORS 标头),您必须:
- 从同一域和同一端口提供主页和弹出内容(您的 Excel 文件)
- 打开您的主页
http://
并且不在file://
如果满足这些条件,最好的解决方案是使用 jquery 作为其load http://api.jquery.com/ready/函数等待“直到所有资产(例如图像)已完全收到”:
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<script>
var popup = window.open('popup.html');
$(popup.document).load(function() {
alert('loaded');
// do other things
});
</script>
</body>
</html>
请小心您的全局方案:当您认为它们“打开”文件时,每个浏览器/配置可能会执行不同的操作。没有办法用简单的方法来检测open
如果他们决定放弃它,因为没有合适的插件,只需下载它即可。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)