我对same-origin
政策有疑问。
我的公司有很多子域名,其中一个子域名想要一个iframe,其中包含另一个子域名,并填充iframe的格式。
我已经阅读了有关document.domain
属性的内容,并且我需要在所有三个域中设置,但由于属于不同部门的每个子域,我无法轻松测试此属性。所以这是我的问题:
当子域既是https而根域不是时,这是否可行?我查看了维基百科上的示例,但这对我没有帮助。任何帮助将不胜感激。
示例:
https://x.company.org
https://y.company.org
http://company.org
x.company.org
将有一个包含y.company.org iframe的页面,其中有一个我们想要自动填充的表单。
答案 0 :(得分:16)
在此上下文中定义域的内容是协议,端口和域,因此浏览器将http://abc.com和https://abc.com视为不同的域(http vs https)。
http://en.wikipedia.org/wiki/Same_origin_policy#Origin_determination_rules
https://x.company.org和https://y.company.org也被视为单独的域名,但他们可以放宽域名设置为https://company.org并进行交叉沟通。
http://en.wikipedia.org/wiki/Same_origin_policy#document.domain_property
现在还有另一种选择,因为HTML5适用于所有主流浏览器。使用HTML5 postMessage,您可以跨域进行通信,假设接收域想要接受消息并做出响应。