假设我无法控制 iframe 中的内容,有什么方法可以通过父页面检测到其中的 src 更改?也许某种onload?
如果 iframe src 与以前相同,我最后的手段是进行 1 秒的间隔测试,但是这样做会很糟糕。
如果有帮助,我正在使用 jQuery 库。
您可能想要使用该onLoad事件,如下例所示:
onLoad
<iframe src="http://www.google.com/" onLoad="alert('Test');"></iframe>
只要 iframe 中的位置发生变化,就会弹出警报。它适用于所有现代浏览器,但可能不适用于一些非常旧的浏览器,如 IE5 和早期的 Opera。(来源)
如果 iframe 显示的是与 parent 相同域中的页面 ,您将能够使用 访问该位置contentWindow.location,如下例所示:
contentWindow.location
<iframe src="/test.html" onLoad="alert(this.contentWindow.location);"></iframe>