我有一个Sitecore站点,我需要实现一个iframe通信解决方案,要求我在父页面(sitecore)和子页面(外部托管在子域名)中的JS中设置document.domain =“mydomain.com” )。
如果我在我的网站的任何地方将JS.domain =“mydomain.com”放在JS中,页面编辑器和Sitecore中的预览都会开始抛出像五彩纸屑这样的JS错误,而且大多数功能都会破坏。当我删除它,一切都恢复正常。很奇怪。
有关为何发生这种情况的想法以及我们如何解决这个问题?感谢。
答案 0 :(得分:0)
根据https://developer.mozilla.org/en-US/docs/Web/API/document.domain,您只能将document.domain设置为"超级域名"当前网站,所以任何跨域恶作剧都不会起作用。我不知道你正在使用哪些域名,所以我不知道,我只能在这里猜测。
如果你确实想要进行跨域通信,你可以给window.postMessage一个镜头https://developer.mozilla.org/en-US/docs/Web/API/window.postMessage。