浏览器同源策略

时间:2011-01-10 08:57:15

标签: javascript cross-domain

我们的应用程序托管了“xyz: 8080 / rootapp”,并在“xyz: 9090 / cometed”上托管了cometd服务。从cometd服务器加载的JavaScript需要访问从(xyz:8080)加载的DOM / JavaScripts,浏览器的相同源策略不允许它。

为了克服它,我们将'document.domain'设置为“xyz”消除端口。这个解决方案运行良好,但这对所有由“xyz:8080”加载的iframe都成了问题,我需要更改每个iframe以使用域作为“xyz”。

有人可以提供解决此问题的提示,而无需更改每个iframe吗?

我们是否有任何http标头来设置域名?

1 个答案:

答案 0 :(得分:0)

您可以使用CORS为同一来源指定例外,这可以在任何相对现代的浏览器中使用。

这个page有一个相当不错的介绍和一系列兼容的浏览器。

短版本将一个Access-Control-Allow-Origin标头放入xyz:8080的响应中,其中包含xyz:9090或*(用于不受限制的访问)。