后window.open JavaScript调用函数(Javascript Call functi

2019-09-17 13:55发布

我试图调用一个函数我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);

Answer 1:

首先要注意的是,为了做到这一点,而不会被因为跨域限制(或无需参数服务器上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 ,如果他们决定将其关闭,有没有合适的插件,只需下载它。



文章来源: Javascript Call function after window.open