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.