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

Javascript 如果在iframe中加载了特定页,则触发重定向到另一页,javascript,html,redirect,iframe,Javascript,Html,Redirect,Iframe,我正在使用Limesurvey创建客户调查。由于我想将调查嵌入公司主页,我正在使用iframe实现这一点。这确保了我的官方页眉和页脚可用,并且我不必在Limesurvey中重建这些元素 Limesurvey提供了在某人完成调查后重定向到其他页面的可能性(例如,感谢页面)。由于我正在嵌入Limesurvey,我无法从我公司的主页重定向到我的官方感谢网站,因为我会有双页眉和双页脚 我想到的是重定向到一个虚拟站点。从父站点,我想检查该事件并触发重定向到我的感谢站点 我不知道如何在Javascript中

我正在使用Limesurvey创建客户调查。由于我想将调查嵌入公司主页,我正在使用iframe实现这一点。这确保了我的官方页眉和页脚可用,并且我不必在Limesurvey中重建这些元素

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

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

我不知道如何在Javascript中做到这一点。如何定义一个事件侦听器来检查iframe中是否加载了特定站点,然后在父节点中触发重定向


非常感谢

您可以使用
.documentWindow.location.href
检查IFrame中的URL,如果它位于同一域中:

e、 g如果您的
iframe
具有id“frame”

document.getElementById('frame').documentWindow.location.href
但是,如果IFrame位于不同的域上,则无法检查IFrame内的URL,这是由于现代浏览器中的安全机制造成的

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

Error: Permission denied to get property Location.href

另请参见此处所述,属性在chrome中的名称不同:documentWindow在chrome中称为contentDocument

如果URL位于同一域,则可以使用
.documentWindow.location.href
检查IFrame中的URL:

e、 g如果您的
iframe
具有id“frame”

document.getElementById('frame').documentWindow.location.href
但是,如果IFrame位于不同的域上,则无法检查IFrame内的URL,这是由于现代浏览器中的安全机制造成的

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

Error: Permission denied to get property Location.href

另请参见此处所述,该属性在chrome中的名称不同:documentWindow在chrome中称为contentDocument

LimeSurvey,而我的父页面位于同一顶级域中。因此没有问题。我如何做到这一点?您的链接帮助我找到了以下有效的概念证明:。谢谢!现在可以识别重定向:-)LimeSurvey和我的父页面位于同一顶级域中。因此没有问题。我如何做到这一点?您的链接帮助我找到了以下有效的概念证明:。谢谢!现在可以识别重定向:-)