2011-08-18 8 views
13

Por alguna razón, Chrome ya no es compatible con document.domain y arroja un error cuando la línea se lee en el iframe que contiene un subdominio y el subdominio que contiene el iframe. ¿Hay alguna manera alrededor de esto?Solución de cromo para document.domain

de error: no detectada de error: SECURITY_ERR: Excepción DOM 18

Respuesta

15

dominio de documentos debe estar en minúsculas y las reglas son así:

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

Sólo en caso de que alguien está buscando una referencia: https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy – juminoz

0

document.domain debe trabajar para iframes, siempre y cuando usted está en el mismo dominio:

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

Si usted está tratando de acceder al documento de un iframe que está en un dominio diferente que el marco principal, obtendrá el error de seguridad que está viendo.

Tenga en cuenta que los subdominios se consideran diferentes dominios también, así que se encontrará con problemas entre dominios: A question about cross-domain (subdomain) ajax request

Cuestiones relacionadas