簡體   English   中英

如何從iframe內部確定父頁面是否已完成加載?

[英]From inside an iframe, how can I determine if the parent page has finished loading?

是否可以通過iframe監聽以確定是否有任何屬性或事件?

iframe src和父頁面位於不同的域中。

僅當您也可以修改父頁面時。 如果不能,那就是XSS,並且沒有合法的方法。

parent.html:

...
<body onload="theFrame.parentLoaded()">
...
<iframe src="http://other.domain.com/frame.html" name="theFrame"></iframe>
...

frame.html:*

...
<script type="text/javascript" language="javascript">
function parentLoaded(){
    //code here will be executed when the parent page has finished loading
}
</script>
...

我知道您無法控制父頁面,但是如果您可以說服主機添加一些代碼,則可以執行以下操作:

//OnParent Page
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script>
    var bReady = false;
    $(document).ready(function () {
        bReady = true;
    });

    function isReady() {
        return bReady;
    }
</script>

//in iframe page
<script>
    var bReady = false;
    while (bReady == false) {
        bReady = window.opener.isReady();
    }
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM