javascript - 如何判断iframe的位置是否发生变化?

标签 javascript iframe

我有一个 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/

相关文章:

javascript - IE 在 DOM 就绪时缩放背景图像

javascript 获取输入的平均值

CSS 菜单卡在 iframe 后面

javascript - 有没有办法在 iframe 上功能检测 CSS3 调整大小?

javascript - 当页面上的 iframe 中的视频完成时触发

javascript - 使用 Javascript 访问 IFrame 的 HTML

javascript - Angular Js Bootstrap Navbar 滚动问题

javascript - 尝试打印一个保留 div 的原始 css 内容的 div 但按钮未单击

javascript - 将相同的类和事件绑定(bind)到多个动态生成的元素

javascript - 无法在 Javascript 书签中正确定位 iFrame