如何判断弹出窗口是否已完全加载

时间:2016-06-07 13:21:10

标签: javascript

是否可以从父窗口判断弹出窗口是否已完全加载?

<body>
  <div id="btn">display web page</div>
    <div id="somediv">
    </div>
  </body>

我编写以下脚本以确定是否已加载弹出窗口,但它不起作用。

<script>
 $("#somediv")[0].onload = function(){
            alert('loaded');
            console.log("rr");
        };
</script>

2 个答案:

答案 0 :(得分:1)

这是你想要的吗?

<body>
  <div id="btn">display web page</div>
  <div id="somediv">
  </div>
</body>

$("#somediv").load("a.html", function(){
    alert('loaded');
    console.log("rr");
});

https://jsfiddle.net/jboo92k4/1/

答案 1 :(得分:1)

这是你在找什么?

<html>
    <head>
        <script type="text/javascript">
            var winPop;

            function OpenWindow() {
                winPop = window.open("popupwin.html");
                CheckWinStatus();
            }

            function CheckWinStatus() {
                try {
                    asdf = winPop.document.body;
                    WindowLoaded();
                }
                catch(e) {
                    setTimeout("CheckWinStatus()",1000);
                }
            }

            function WindowLoaded() {
                alert(winPop.document.title);
            }

        </script>
    </head>
    <body>
        <form name="Form1">
            <input type="button" name="B1" value="Open" onclick="OpenWindow()">
        </form>
    </body>
</html>
  • 单击按钮OpenWindow()时会调用函数b1
  • OpenWindow()内,弹出窗口popupwin.html可以打开。
  • CheckWinStatus()检查弹出窗口是否已完全加载。它的超时值为1000毫秒。
  • 当弹出窗口已完全加载时,将调用WindowLoaded()。您可以在此处执行与弹出式相关的操作。