无论如何都没有违反SOP时设置document.domain

时间:2011-04-23 12:26:47

标签: javascript comet same-origin-policy

我正在尝试确定在从iframe加载内容时设置document.domain='example.com'是否有用,如果SOP不会被违反的话。 在我的场景中,我在www.example.com上有一个html页面,它在www.example.com/iframe(所有端口80)上加载iframe - 所以,据我所知,这里不需要设置document.domain属性。

在FF3中,从iframe流式传输的javascript代码不会执行,除非我在父页面和iframe上都明确设置了document.domain属性。在FF4中,它不会在任何一种设置中执行。我也尝试过使用主机名中的www前缀 - 没有区别。 Firebug显示已经下载了包含<script>标记的全部内容的分块部分。

这是否意味着当没有涉及子域或xss时,设置document.domain仍有用途?

1 个答案:

答案 0 :(得分:0)

设置document.domain不会对您的情况产生影响,除非发生其他事情。

我建议您不要触摸document.domain并尝试找到问题的真正的原因。干预document.domain只会在通过iframe等进行AJAX或文件上传时遇到麻烦,因为这些不一定会选择加入新的域名后缀。

但要回答,不,除了在跨子域进行通信时放松SOP之外,它没有其他目的。