2016-02-26 68 views
0

我想從iframe(id:'myFrame')獲得標識「id」是「token」的TAG的值,但是我得到一個顯示爲「null」的值。如何在JavaScript執行之前使iframe加載?

我想問題是iframe在javascript執行前沒有加載,但我不知道如何解決這個問題。

感謝

<!DOCTYPE html> 

<html> 

<head> 

    <title>Smth</title> 

</head> 


<body> 

    <iframe src="script.php" name="myFrame" id="myFrame"></iframe> 

    <script> 

     var iframe = document.getElementById('myFrame'); 

     var innerDoc = iframe.contentDocument || iframe.contentWindow.document; 

     document.write(innerDoc.getElementById("token").value); 
    </script> 


</body> 

</html> 
+1

可能的重複[如何檢查iframe是否加載或它有內容?](http://stackoverflow.com/questions/9249680/how-to-check-if-iframe-is-loaded-or-它有一個內容) –

回答

0
<script> 
    setInterval(function(){ 
     var iframe = document.getElementById('myFrame'); 

     var innerDoc = iframe.contentDocument || iframe.contentWindow.document; 

     document.write(innerDoc.getElementById("token").value); 
    }, 5000); 
</script> 
+0

另一個解決方案是使用加載函數。看到這個解決方案.http://stackoverflow.com/questions/29233928/iframe-onload-javascript-event – Stivan

0

我會做什麼,如果我需要做的,是一個onload事件添加到iframe中,所以當它的加載,執行您想要的腳本。例如:

document.body.onload = function(){ 
    document.getElementById('myFrame').onload = function(){ 
     /* your code */ 
    } 
} 

我做些什麼來避免這種問題是在身體的末端,以我的JS函數的調用追加,所以我不會嘗試創建它之前引用一個DOM元素(這些函數被添加到head元素中)。

相關問題