JS中的document.domain中断Sitecore页面编辑器

JS中的document.domain中断Sitecore页面编辑器,sitecore,Sitecore,我有一个Sitecore站点,我需要在其中实现一个iframe通信解决方案,该解决方案要求我在父页面(Sitecore)和子页面(外部托管在子域上)的JS中设置document.domain=“mydomain.com” 如果我将document.domain=“mydomain.com”放在我站点的JS任意位置,Sitecore中的页面编辑器和预览都会开始抛出JS错误,比如五彩纸屑,并且大部分功能都会被破坏。当我移除它时,一切都恢复正常。很奇怪 关于为什么会发生这种情况,以及我们如何解决它,有

我有一个Sitecore站点,我需要在其中实现一个iframe通信解决方案,该解决方案要求我在父页面(Sitecore)和子页面(外部托管在子域上)的JS中设置document.domain=“mydomain.com”

如果我将document.domain=“mydomain.com”放在我站点的JS任意位置,Sitecore中的页面编辑器和预览都会开始抛出JS错误,比如五彩纸屑,并且大部分功能都会被破坏。当我移除它时,一切都恢复正常。很奇怪

关于为什么会发生这种情况,以及我们如何解决它,有什么想法吗?谢谢。

根据您的要求,您只能将document.domain设置为当前站点的“superdomain”,因此任何跨域骗局都不会起作用。我不知道你在用什么域名,所以在不知道的情况下,我只能在这里猜测


如果您确实想进行跨域通信,您可以尝试使用window.postMessage。

谢谢您的回复。只要iframe页面是子域,document.domain就可以正常工作。我们已经在许多网站(非Sitecore)上使用了这种方法。这是我们第一个尝试过的Sitecore站点…仍然很好奇为什么添加这一行会让Sitecore失去理智:)。无论如何,我们决定使用go with postMessage作为解决方案。谢谢