该同源策略文档这样说:
同一原产地规则有一个例外.脚本可以将document.domain的值设置为当前域的后缀.如果它这样做,则较短的域用于后续的原始检查.例如,假设http://store.company.com/dir/other.html文档中的脚本 执行以下语句:
document.domain ="company.com";
执行该语句后,页面将通过http://company.com/dir/page.html传递原点检查 .但是,由于同样的原因,company.com无法将document.domain设置为othercompany.com.
所有流行的浏览器都支持吗?如果没有,哪些不?
Firefox 2,3,IE6,7,8,Chrome和Safari 2和3,Opera 9都支持document.domain;
其他"更新"的浏览器也可能会这样,但是那些我实际测试过的代码(使用了document.domain)
文档域应该是小写的,规则是这样的
// Actual domain is "www.foo.com" document.domain = "foo.com"; // this is valid // Actual domain is "bar.foo.com" document.domain = "www.foo.com"; // this is invalid, "bar.foo.com" is not a subdomain of "www.foo.com" // Actual domain is "blah.bar.foo.com" document.domain = "bar.foo.com" // Ok document.domain = "foo.com" // Still ok document.domain = "bar.foo.com" // Invalid, you can't change it back to a more specific domain.