
Каждый раз, когда я открываю веб-приложение (использующее код ESRI JavaScript) через window.showModalDialog, я получаю следующую ошибку:
Использование window.open не вызывает никаких проблем.
Я поигрался с настройками конфиденциальности и установил значение «Блокировать все файлы cookie», так что я даже не должен получать это сообщение. Однако если я удаляю сайт из «Надежных сайтов», я не получаю это сообщение? Я также установил его так, чтобы для Интернета, локальной интрасети и надежных сайтов использовался один и тот же уровень: средний. Я бы предположил, что если сайт не находится в надежных сайтах, он должен вести себя так, как будто он из «Интернета» или «Локальной интрасети». Но если это так, почему он ведет себя по-разному, если у них всех одинаковые настройки?
Вот мои настройки конфиденциальности:
Обновление: Я заметил, что на вкладке «Конфиденциальность» отдельно упоминается зона Интернета:Настройки конфиденциальности влияют только на зону Интернета. Пройдя по некоторым ссылкам, я обнаружил, что можно создать файл (P3P {Platform for Privacy Preferences}) и импортировать его в IE, который будет конкретно сообщать IE, какие правила применять к файлам cookie для каждой зоны.
Я попробовал создать следующее, но мне все равно предлагают файлы cookie. Почему?
<?xml version="1.0" encoding="UTF-8"?>
<MSIEPrivacy>
<MSIEPrivacySettings formatVersion="6">
<p3pCookiePolicy zone="trustedSites">
<firstParty noPolicyDefault="reject" noRuleDefault="reject" alwaysAllowSession="yes">
</firstParty>
<thirdParty noPolicyDefault="reject" noRuleDefault="reject" alwaysAllowSession="yes" />
</p3pCookiePolicy>
<p3pCookiePolicy zone="internet">
<firstParty noPolicyDefault="reject" noRuleDefault="reject" alwaysAllowSession="yes">
</firstParty>
<thirdParty noPolicyDefault="reject" noRuleDefault="reject" alwaysAllowSession="yes" />
</p3pCookiePolicy>
<alwaysReplayLegacy />
</MSIEPrivacySettings>
<MSIESiteRules formatVersion="6">
<site domain="host2.erportalhost.com" action="reject" />
<site domain="sampleserver6.arcgisonline.com" action="reject" />
<site domain="js.arcgis.com" action="reject" />
</MSIESiteRules>
</MSIEPrivacy>
решение1
Я наконец смог решить эту проблему. Я смог решить эту проблему, переместив наш сайт из зоны «Надежные сайты» в зону «Интранет».
Причина, по которой это работает, заключается в том, что зона Intranet по умолчанию принимает все файлы cookie. Настройки файлов cookie зоны Internet определяются вкладкой Privacy, зона Trusted sites по умолчанию запрашивает все файлы cookie, Restricted zone блокирует все файлы cookie. Есть возможность переопределить эти настройки, импортировав файл P3P xml в IE, но это, похоже, не удалось, поэтому я думаю, что нам придется просто жить с сайтом в зоне Intranet. Очевидно, это придется сделать для каждой пользовательской машины. Я уже сделал это для серверной машины, так как рабочий стол, который вы для нас настроили, похоже, не работал. Для этого может потребоваться, чтобы настройки для Trusted Sites также были установлены для зоны Intranet, но поскольку это работает для серверной машины, я предполагаю, что все остальные пользовательские машины настольных компьютеров также используют эти настройки для зоны Intranet.