我正在使用Limesurvey创建客户调查。当我想将调查嵌入到公司主页时,我正在使用iframe来实现这一目标。这样可以确保我可以使用官方的页眉和页脚,而不必在Limesurvey中重建该元素。
有人完成调查后,Limesurvey提供了重定向到另一个页面的可能性(例如,“谢谢”页面)。当我嵌入Limesurvey时,我无法从公司主页重定向到我的官方感谢网站,因为我将拥有双页眉和双页脚。
我想到的是重定向到虚拟站点。从父站点,我想检查该事件并触发将我重定向到我的感谢站点。
我不知道如何用Javascript做到这一点。如何定义事件监听器,以检查iframe中是否已加载特定网站,然后在父网站中触发重定向。
非常感谢!
您可以检查IFrame中的网址<element>.documentWindow.location.href
是否使用相同的域:
例如,如果您的iframe
ID为“框架”
document.getElementById('frame').documentWindow.location.href
但是,如果IFrame位于其他域中,则无法检查IFrame内部的URL,这是由于现代浏览器中的安全机制所致。
如果您不在同一页面上,则会引发异常:
Error: Permission denied to get property Location.href
请参阅此SO答案以获取更多详细信息,如此处所述,该属性在chrome中的名称不同:documentWindow在Chrome中称为contentDocument
LimeSurvey和我的父页面位于同一顶级域上。所以没有问题。我该怎么做?
@Sven我已更新希望对您有所帮助
您的链接帮助我找到了以下可行的概念证明:stackoverflow.com/questions/2429045/…。非常感谢!现在可以识别重定向:-)