javascript - 捕获 iframe 加载完成事件

标签 javascript html iframe load dhtml

有没有一种方法可以捕获 iframe 的内容何时从父页面完全加载?

最佳答案

<iframe>元素有一个 load事件


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

1) 以编程方式创建您的 iframe

它确保您的 load总是在 iframe 开始加载之前通过附加它来调用监听器。

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

另请参阅我关于 which elements can also fire this type of load event 的其他回答

关于javascript - 捕获 iframe 加载完成事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3142837/

相关文章:

javascript - AngularJS:重置 angular.element css 更改

javascript - jQuery 删除 ajax 成功的元素

php - 解析 3D XML 平铺信息

javascript - 查找 iframe 内具有其 Id 的元素位置

php - 在表单发布完成在目标上执行文件上传后从 iframe 获取数据

javascript - 可以在服务器端打开/关闭 iframe 吗?

javascript - 如何在 Highcharts 中使 HTML 表格中的每一行成为饼图?

javascript - 是否可以在渲染前在缓存中插入图像

html - 样式 childmost 悬停元素

html - 手机上的背景图片看起来缩小了