web-dev-qa-db-ja.com

Chrome document.domainのソリューション

何らかの理由でchromeはdocument.domainをサポートしなくなり、サブドメインを含むiframeとiframeを含むサブドメインで行が読み取られるとエラーを吐き出します。とにかくこれの周りにありますか?

エラー:キャッチされないエラー:SECURITY_ERR:DOM例外18

15
Trevor

ドキュメントドメインは小文字である必要があり、ルールは次のようになります。

// 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. 
17
Ole

document.domain同じドメインにいる限り、iframeで機能するはずです。

iframe=document.querySelector('iframe');
console.log(iframe.contentDocument.domain)

親フレームとは異なるドメインにあるiframeのドキュメントにアクセスしようとすると、表示されているセキュリティエラーが発生します。

サブドメインも異なるドメインと見なされるため、クロスドメインの問題が発生することに注意してください。 クロスドメイン(サブドメイン)ajaxリクエストに関する質問

0
Boris Smus