2009-04-13 18 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はothercompany.comに document.domainを設定できませんでした。

すべての一般的なブラウザがこれをサポートしていますか?そうでない場合は、どちらがしないのですか?

答えて

18

Firefox 2,3、IE6,7,8、Chrome、Safari 2と3、Opera 9はすべてdocument.domainをサポートしています。

その他の「新しい」のブラウザでは、おそらく同様に、しかしそれらは私が実際に

+0

どのように? – cgp

+0

Opera 9も同様です。 – Alan

+0

@Alan:情報をありがとう。あなたが共有することができれば、その理由は何でしたか?私はそれが簡単に別のマシンにAJAXタイプの要求を作成することに興味があるんだけど、他の用途がある場合、私は興味があります。 –

10

ドキュメントドメインが小文字である必要があり、ルールは以下のようにしている(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. 
+0

したがって、document.domain = "sample.com"サーバーとアプリケーションは異なるドメインでホストされていますか? –

関連する問題