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

时间:2020-01-31 14:51:55

标签: javascript html redirect iframe

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

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

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

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

非常感谢!

1 个答案:

答案 0 :(得分:0)

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

例如,如果您的iframe的ID为“ frame”

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

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

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

Error: Permission denied to get property Location.href

另请参见this SO answer for more detail,如此处所述,该属性在chrome中的命名不同: documentWindow在Chrome中称为contentDocument