【问题标题】:How do I capture an iframe location url before it is loaded?如何在加载 iframe 位置 url 之前捕获它?
【发布时间】:2012-09-06 03:29:59
【问题描述】:

我有一个不受我控制的 iFrame,它有一个已知的初始源 URL。当点击 iframe 中的链接时,url 和内容会发生变化,但我想在加载之前捕获位置变化,甚至可能中断加载。

我知道我可以像这样捕获 iframe 的位置数据:

$('iframe').on('load',function() { var location = this.contentWindow.location.href; }

但是有没有办法在加载之前捕获位置,无论是使用 jQuery(首选)还是原始 javascript?

【问题讨论】:

  • URL 是动态添加的吗?例如,$('iframe').attr('src') 会起作用吗?
  • iframe中的内容是动态变化的,是的,可惜初始的source属性没用。
  • 我认为没有任何方法可以从 iframe 的内容中查找数据。

标签: javascript jquery html iframe


【解决方案1】:

没有广泛支持的方法来监视 iframe 的 .src 更改。某些版本的 IE 有 propertyChanged 事件,但其他浏览器不支持。

如果可以更改 iframe .src 的链接已知并且可以访问(不在跨域 iframe 中),那么您可以在这些链接上添加自己的点击处理程序并检查 iframe .src 之后默认点击被处理。根据页面的详细信息,您可以只检查自己的事件处理程序,也可能需要设置一个短计时器并在其他事件处理程序运行后检查。

【讨论】:

  • 初始 src 是已知的...当用户使用 iframe 中的链接导航内容时,我需要捕获动态变化。我更新了我的问题以更清楚。谢谢。
  • @Inator - 好的,我根据新信息更改了答案。
猜你喜欢
  • 2012-02-16
  • 2017-06-20
  • 1970-01-01
  • 2010-10-01
  • 2010-09-07
  • 2012-02-13
  • 1970-01-01
  • 2012-05-08
  • 1970-01-01
相关资源
最近更新 更多