document.domain, location и InternetExplorerПроблема: если мы установим свойство document.domain, то мы не сможем после этого получить доступ к свойству
location в браузерах IE6 и IE7. Это хорошо иллюстрирует следующий код.
try {
document.write('Берём location... ');
var l = location.href;
document.write('<span style="color: green;">Success!</span><br>');
document.write('Устанавливаем document.domain... ');
document.domain = document.domain;
document.write('<span style="color: green;">Success!</span><br>');
document.write('Берём location... ');
l = location.href;
document.write('<span style="color: green;">Success!</span><br>');
} catch(e) {
document.write('<span style="color: red;">Error: ' + e.message + '</span>');
}
Который в IE6 и IE7 выведет
Берём location... Success!
Устанавливаем document.domain... Success!
Берём location... Error: Разрешение отклонено
В силу этого, если вы устанавливаете document.domain и вам необходим доступ к location, то кэшируйте значения свойств объекта location до установки document.domain.