如何使用JavaScript检测IFrame更改src

3
我有一个iframe,根据URL中的参数动态加载它。页面上还有一些操作可以更改iframe的src以显示另一页。是否有JavaScript函数可以绑定,以告诉我何时更改了src?
例如,用户浏览到我的页面,我动态加载“www.mysite.com/page1” 现在用户执行某些操作,page1被替换为“www.mysite.com/page2”。
我想检测这种变化并对其进行处理。类似于:document.getElementById("myIFrame").onSrcChange(doFunction());
在任何人询问之前,我不能检测用户执行操作的部分,我必须依靠iFrame更改来尝试检测。
如果有所不同,这必须在IE中工作。谢谢!

你需要在 iframe 加载新的 URL 之前检测到这个变化吗?或者如果稍后会触发事件,那会对你有所帮助吗?你可以在新的 URL 加载完成后使用 onload 事件。 - Faraz
或者您可以尝试使用onhashchange来检测URL的更改。 - Faraz
onload事件在URL更改时触发,但即使我在设置src之后创建onload函数,它也会在第一次设置src时触发。非常令人沮丧。对我来说,onhashchange方法似乎根本不起作用。它从未触发过。 - BrianLegg
解决了我的问题 - onload + 计算后退按钮的按下次数让我达到了想要的效果。请使用 "onload" 回答问题,我会将其标记为答案,因为它确实可以检测 iframe 上 src 的更改。 - BrianLegg
1个回答

2
你可以在iframe标签上使用“onload”事件来检测iframe的src变化,当src变化时,新页面将在iframe中加载,并触发“onload”事件。
你也可以使用“onhashchange”事件来检测哈希值的变化。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接