【问题标题】:How can I detect when an iframe page begins loading?如何检测 iframe 页面何时开始加载?
【发布时间】:2013-03-21 21:43:30
【问题描述】:

我希望 iframe 的开启程序能够检测到用户每次更改该 iframe 中的页面。使用 jQuery,我可以通过以下方式检测每次页面 完成 在 iframe 中加载:

$('#myIframe').on('load', function() {/*do stuff*/});

但是,我还想检测(在 iframe opener 中)每次页面开始在该 iframe 中加载。

注意:iframe 中显示的内容来自第三方网站,因此我无法在其中插入代码,以便 iframe 可以显式提醒开启者。

有谁知道页面开始加载时触发的事件?我没有太多运气通过互联网搜索找到任何东西,因为大多数人似乎只对检测 iframe 何时完成加载感兴趣。

【问题讨论】:

  • 你如何在 iframe 上加载内容,当父窗口完全加载时是通过 javascript 加载还是仅在父窗口的相同 http 响应上加载?基于此,我想我可以回答你的问题了??
  • 第三方 [又名另一个域]?同源政策
  • 我是父窗口,我正在动态创建一个 iframe 标签(基于来自用户的触发器),它的 'src' 属性设置为外部的第三方站点。
  • 你有 ::: the-if​​rame-cross-domain-policy-problem

标签: javascript jquery iframe


【解决方案1】:

不幸的是,确保它适用于大多数浏览器的唯一方法是使用<iframe onload="myonloadscript();"

主页的window.onload 事件会告诉你 iframe 何时加载,你可以确定它已经开始请求它的 src 页面


编辑:

只是从文章中复制它(Their are hacks for this

做这个跨域?没那么容易。您会得到以下内容:子文档无权访问父文档。事实上,网络上有很多关于如何实现它的文档,但问题是它经常过时,解决方案通常只适用于几个浏览器。

【讨论】:

  • 我已经测试了 iframe 的 onload 属性,但这似乎也要等到页面完成加载(与我原始问题中的 jQuery 示例相同)。
猜你喜欢
  • 1970-01-01
  • 2013-06-23
  • 2011-07-30
  • 2013-07-27
  • 2012-05-22
  • 2014-07-09
  • 2013-06-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多