如何在javascript执行之前加载iframe?

时间:2016-02-26 14:13:28

标签: javascript html

我想获得TAG的价值" id"是"令牌"来自iframe(id:' myFrame'),但我得到了一个" null"显示的值。

我想问题是在javascript执行之前没有加载iframe,但我不知道如何解决这个问题。

由于

<!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>

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

如果需要,我会做的是向iframe添加onload事件,以便在加载时,执行您想要的脚本。例如:

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

我要做的是避免这种问题是在主体的末尾追加我的JS函数的调用,所以在创建之前我不会尝试引用DOM元素(函数附加在头部元素)。