【发布时间】:2020-11-09 11:59:17
【问题描述】:
我有一个在页面中注入的 iframe,称他为“助手”。因此,由于同源策略,我需要将 iframe 域设置为与父窗口域相同。但我无法访问父窗口域。怎么解决?
此代码目前适用于二级域:
pathArray = window.location.host.split('.');
var arrLength = pathArray.length;
var domainName = pathArray.slice(arrLength - 2, arrLength).join('.');
document.domain = domainName;
但我需要以某种方式从父窗口获取它,而不是依赖于二级域
【问题讨论】:
-
您的 iframe 来自另一台服务器?那么您将 document.domain 设置为什么并不重要。它必须来自该域
-
如果域的最后部分不一样,那就算了吧。它用于将 sales.domain.com 与 shopping.domain.com 匹配,而不是将 site.sales.com 与 site.shopping.com 匹配
-
是的,它会是一样的,我只是知道从父窗口获取它很热。
-
另外,您可能有兴趣像这样剥离端口号:document.domain = domainName.split(":")[0];
标签: javascript iframe