我试图调用一个函数我window.open功能完全加载后。
然而,使用的onload功能被太早叫。 多数民众赞成被击中的网址打开一个Excel电子表格,并可以从2秒到1分钟下载。
在onload功能时只要window.open函数被调用调用。 但是,我需要知道什么时候了Excel文档已经打开 - 不是当URL被击中。
我试过设置的间隔,但是,这不是被称为:
w = window.open(url,'_parent',false);
w.onload = function(){
console.log('here');
setInterval(function(){
alert('Hi');
},10);
首先要注意的是,为了做到这一点,而不会被因为跨域限制(或无需参数服务器上CORS头),您必须:
- 服务既您的主页,并在弹出的内容(Excel文件)来自同一个域,和相同的端口
- 在打开你的主网页
http://
,而不是在file://
如果这些条件得到尊重,最好的解决办法是为它的使用jQuery的负载功能等待“直到如图像的所有资产已被完全接收”:
<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
,如果他们决定将其关闭,有没有合适的插件,只需下载它。