Javascript 设置document.domain是否适用于所有(大多数)浏览器?

Javascript 设置document.domain是否适用于所有(大多数)浏览器?,javascript,browser,cross-browser,Javascript,Browser,Cross Browser,报告说: 但也有一个例外 原产地规则。脚本可以设置 将document.domain的值转换为后缀 当前域的。如果是这样,, 较短的域用于 随后的原产地检查。例如 假设文档中的脚本位于 执行以下语句: document.domain=“company.com” 之后 该语句执行时,页面 你能通过原产地检查吗 . 但是,根据同样的道理,, 无法设置company.com document.domain到othercompany.com 所有流行的浏览器都支持这个吗?如果没有,哪些不支持?Firef

报告说:

但也有一个例外 原产地规则。脚本可以设置 将document.domain的值转换为后缀 当前域的。如果是这样,, 较短的域用于 随后的原产地检查。例如 假设文档中的脚本位于 执行以下语句:

document.domain=“company.com”

之后 该语句执行时,页面 你能通过原产地检查吗 . 但是,根据同样的道理,, 无法设置company.com document.domain到othercompany.com


所有流行的浏览器都支持这个吗?如果没有,哪些不支持?

Firefox 2,3、IE6,7,8、Chrome、Safari 2和3、Opera 9所有支持document.domain


其他“较新”的浏览器可能也会这样做,但是这些浏览器是我实际测试过的代码(它使用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.

@艾伦:谢谢你的信息。如果你可以分享,你这样做的原因是什么?我很想让向不同的机器发出AJAX类型的请求变得更容易,但我很好奇是否还有其他用途。请记住设置document.domain=“原始页面的字符串处于打开状态”和document.domain=document.domain会导致IE6-7中出现CAO,那么我应该添加document.domain=“sample.com”吗在托管在不同域中的服务器和应用程序中?