小编典典

捕获iframe加载完成事件

javascript

当从父页面完全加载iframe的内容时,是否可以捕获?


阅读 346

收藏
2020-05-01

共1个答案

小编典典

<iframe>元素有一个 load 事件


您如何聆听该事件取决于您,但是通常最好的方法是:

1)以编程方式创建iframe

通过确保在iframe开始加载 之前load附加监听器,可以确保始终调用您的监听器。 __

<script>
var iframe = document.createElement('iframe');
iframe.onload = function() { alert('myframe is loaded'); }; // before setting 'src'
iframe.src = '...'; 
document.body.appendChild(iframe); // add it to wherever you need it in the document
</script>

2)内联javascript ,是您可以在HTML标记内使用的另一种方法。

<script>
function onMyFrameLoad() {
  alert('myframe is loaded');
};
</script>

<iframe id="myframe" src="..." onload="onMyFrameLoad(this)"></iframe>

3)您也可以将事件侦听器附加在标记内
的元素之后<script>,但请记住,在这种情况下,在添加侦听器时,iframe很有可能已经加载。因此,有可能它 不会
被调用(例如,如果iframe非常快或来自缓存)。

<iframe id="myframe" src="..."></iframe>

<script>
document.getElementById('myframe').onload = function() {
  alert('myframe is loaded');
};
</script>
2020-05-01