2011-08-18 18 views
13

Per qualche ragione chrome non supporta document.domain più e sputa un errore quando la riga viene letta nell'iframe contenente un sottodominio e il sottodominio contenente l'iframe. C'è un modo per aggirare questo?Soluzione di Chrome per document.domain

Errore: errore non rilevato: SECURITY_ERR: DOM Exception 18

risposta

15

dominio documento dovrebbe essere in minuscolo e le regole sono come questo:

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

Solo nel caso qualcuno sta cercando un riferimento: https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy – juminoz

0

document.domain dovrebbe funzionare per iframe finchè siete sullo stesso dominio:

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

Se stai cercando di accedere al documento di un iframe che si trova su un dominio diverso da quello del genitore, otterrai l'errore di sicurezza che stai vedendo.

Si noti che i sottodomini sono considerati diversi domini troppo, così si incorrerà in problemi di dominio croce: A question about cross-domain (subdomain) ajax request

Problemi correlati