当前位置: 首页 > 面试题库 >

捕获iframe加载完成事件

斜光耀
2023-03-14
问题内容

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


问题答案:

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


 类似资料:
  • 问题内容: 想知道当所有指令都完成编译/链接时,检测页面加载/引导完成的最佳方法是什么。 已经有活动了吗?我应该重载引导程序功能吗? 问题答案: Angular还没有提供一种在页面加载完成时发出信号的方式,可能是因为 “完成”取决于您的应用程序 。例如,如果您具有层次结构的局部树,则其中一个会加载其他树。“完成”将表示它们都已加载。任何框架都将很难分析您的代码并理解一切都已完成或仍在等待。为此,您

  • 问题内容: 使用以下构建器时,有没有办法侦听毕加索的事件: 我想打电话和父所以它会适当调整,但我不知道如何设置监听器或回调。 我看到毕加索有错误事件报告,但是有成功事件吗? 问题答案: 您可以使用获取onSuccess和onError事件。只需向您的请求添加新的回调,如下所示: 然后,您可以在onSuccess回调中执行任何更改和修改。

  • 问题内容: 我们一直在寻找答案,但是还没有找到解决方案。 我们有一个Web服务器,允许用户下载动态生成的文件(pdf),并通过servlet提供服务。我们想知道下载何时完成(以及如何:成功,失败,用户取消了吗?)。 没有用户输入,有没有办法知道这一点?这些文件相对较小,因此不需要进度条功能,但是我们需要某种“挂勾”功能,可以在下载完成后向您报告。这可能吗? [edit]浏览器端将具有什么功能来检测

  • 本文向大家介绍图片加载完成再执行事件的实例,包括了图片加载完成再执行事件的实例的使用技巧和注意事项,需要的朋友参考一下 实例如下: 应用场景:一些图片较多的页面,一些需要加上进度条或者百分比读取等加载效果的页面,一般移动端页面用得比较多 以上这篇图片加载完成再执行事件的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 问题内容: 我正在尝试在客户端动态生成文件时在客户端上显示“掩码”。似乎为此的推荐解决方法(因为它不是ajax)是使用iframe并从onload或done事件中侦听以确定文件从服务器实际发送到客户端的时间。 这是我的角度代码: 这在Firefox中效果很好,但在Chrome中没有运气。我也尝试过使用onload函数: 但是我那里也没有运气。 有想法吗? 问题答案: 不幸的是,如果内容是附件,则无

  • 问题内容: 我的问题是我需要知道何时在页面上完成AJAX。我需要在我通过pageMod加载的contentScriptFile中知道这一点。我的插件需要在每次修改页面时运行:因此基本上是在加载页面时以及每次有AJAX调用时运行。 我尝试了这个: 但它不起作用。 有没有办法做到这一点? 编辑:来自main.js的我的页面mod代码: 问题答案: 不要将其放在内容脚本中:我不确定如何识别脚本的内容窗口