我如何获取 iframe 元素?[重复]
2017-08-05
1916
这是
main.html
<body>
<iframe id="frame" src="frame.html"></iframe>
<script type="text/javascript">
document.getElementById('frame').contentWindow.document.getElementById('test').innerHtml = 'abcdefgh';
</script>
</body>
这是
frame.html
<body>
<p id="test">0123456798</p>
<script type="text/javascript"></script>
</body>
Error: Uncaught TypeError: Cannot set property 'innerHTML' of null
为什么不起作用,以及我如何更改
id="test"
文本
2个回答
使用
setTimeout()
延迟脚本。
iframe
需要时间加载。
<iframe id="frame" src="frame.html"></iframe>
<script type="text/javascript">
setTimeout(function(){
document.getElementById('frame').contentWindow.document.getElementById('test').innerHTML = 'abcdefgh';
},800);
</script>
注意
innerHTML()
上的大写字母。
Louys Patrice Bessette
2017-08-05
嗨,你有一个解决方案
setTimeout(function(){ var iframe = document.getElementById('frame'); console.log(iframe); });
希望它能有所帮助
Pedro Lescano
2017-08-05