2009-04-13 52 views
15

Same Origin Policy Documentation這樣說:在所有(大多數)瀏覽器中設置document.domain是否工作?

有一個例外相同的 產地來源規則。腳本可以將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。

所有流行的瀏覽器都支持嗎?如果不是,哪些不?

回答

18

Firefox 2,3,IE6,7,8,Chrome和Safari 2和3,Opera 9都支持document.domain;

其他「較新」的瀏覽器可能會很好,但是這些都是我實際測試我的代碼(這使得使用document.domain的的)

+0

Opera怎麼樣? – cgp 2009-04-14 00:08:16

+0

Opera 9也是如此。 – Alan 2009-04-14 00:08:37

10

文檔域應該是小寫和規則是喜歡的。這個

// 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. 
相關問題