我有一个 iframe,它显示来自外部站点的表单,提交表单后,它会重定向到另一个有感谢消息的页面。是否可以从 iframe 知道 src 网页的位置是否有改变了?我希望我说得有道理......
我从某个网站得到了这段代码,它可以为我完成这项工作,当我在他们的网站上时它可以工作,但是当我尝试在本地执行此操作时,我收到了访问被拒绝的 javascript 错误....
<html>
<body>
<script language="JavaScript">
function myLocation() {
alert(document.all.myFrame.contentWindow.location);
}
</script>
<iframe id="myFrame" src="http://www.java2s.com" style="width:200;">
</iframe>
<br>
<button onclick="myLocation();">Location of Frame</button>
</body>
</html>
谢谢
最佳答案
您可能想要使用 onLoad
事件,如以下示例所示:
<iframe src="http://www.google.com/" onLoad="alert('Test');"></iframe>
只要 iframe 内的位置发生更改,就会弹出警报。该技术的唯一问题是它可能不适用于某些较旧的浏览器,例如 IE5 和早期的 Opera。 (Source)
更新:
进一步编辑后,您会收到“访问被拒绝”错误,因为您无法访问与父窗口不在同一域中的网站的 contentWindow.location
。虽然这对于您的真正要求来说是不幸的,但这被认为是一种安全限制,以防止 cross-site scripting .
关于javascript - 如何判断iframe的位置是否发生变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2235994/