温馨提示:本文翻译自stackoverflow.com,查看原文请点击:javascript - Trigger redirection to another page if specific page is loaded within an iframe
html iframe javascript redirect

javascript - 如果在iframe中加载了特定页面,则触发重定向到另一页面

发布于 2020-04-09 10:12:42

我正在使用Limesurvey创建客户调查。当我想将调查嵌入到公司主页时,我正在使用iframe来实现这一目标。这样可以确保我可以使用官方的页眉和页脚,而不必在Limesurvey中重建该元素。

有人完成调查后,Limesurvey提供了重定向到另一个页面的可能性(例如,“谢谢”页面)。当我嵌入Limesurvey时,我无法从公司主页重定向到我的官方感谢网站,因为我将拥有双页眉和双页脚。

我想到的是重定向到虚拟站点。从父站点,我想检查该事件并触发将我重定向到我的感谢站点。

我不知道如何用Javascript做到这一点。如何定义事件监听器,以检查iframe中是否已加载特定网站,然后在父网站中触发重定向。

非常感谢!

查看更多

提问者
Sven
被浏览
53
Expired Data 2020-01-31 23:01

您可以检查IFrame中的网址<element>.documentWindow.location.href是否使用相同的域:

例如,如果您的iframeID为“框架”

document.getElementById('frame').documentWindow.location.href

但是,如果IFrame位于其他域中,则无法检查IFrame内部的URL,这是由于现代浏览器中的安全机制所致。

如果您不在同一页面上,则会引发异常:

Error: Permission denied to get property Location.href

请参阅此SO答案以获取更多详细信息,如此处所述,该属性在chrome中的名称不同:documentWindow在Chrome中称为contentDocument