Решение Chrome для document.domain - PullRequest
       5

Решение Chrome для document.domain

15 голосов
/ 18 августа 2011

По какой-то причине chrome больше не поддерживает document.domain и выдает ошибку, когда строка читается в iframe, содержащем поддомен и поддомен, содержащий iframe.Есть ли что-нибудь вокруг этого?

Ошибка: необученная ошибка: SECURITY_ERR: исключение DOM 18

Ответы [ 2 ]

17 голосов
/ 20 марта 2012

Домен документа должен быть в нижнем регистре, а правила таковы:

// 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 голосов
/ 18 августа 2011

document.domain должно работать для iframe, если вы находитесь в одном домене:

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

Если вы пытаетесь получить доступ к документу iframe, который находится в другом домене, чем родительскийкадр, вы получите ошибку безопасности, которую вы видите.

Обратите внимание, что субдомены также считаются разными доменами, поэтому вы столкнетесь с проблемами между доменами: Вопрос о междоменном (поддомене) ajax-запросе

...