2011-08-18 16 views
13

Z jakiegoś powodu chrome nie obsługuje już dokumentu.domena i wypowiada błąd po przeczytaniu linii w elemencie iframe zawierającym subdomenę i poddomenę zawierającą element iframe. Czy tak jest w pobliżu?Rozwiązanie Chrome dla dokumentu.domain

Błąd: Uncaught Błąd: SECURITY_ERR: DOM Exception 18

Odpowiedz

15

domeny dokumencie powinny być małe i zasady są tak:

// 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

Just in case ktoś szuka odniesienia: https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy – juminoz

0

document.domain powinien pracować dla iframe jak długo jesteś w tej samej domenie:

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

Jeśli próbujesz uzyskać dostęp do dokumentu w elemencie iframe znajdującym się w innej domenie niż ramka nadrzędna, dostaniesz błąd bezpieczeństwa, który widzisz.

Zauważ, że subdomeny są uważane za różne dziedziny, więc napotkasz poprzecznych kwestii domen: A question about cross-domain (subdomain) ajax request

Powiązane problemy