
window.showModalDialog 経由で Web アプリ (JavaScript ESRI コードを使用) を開くたびに、次のエラーが発生します。
window.open を使用しても問題は発生しません。
プライバシー設定をいじってみて、「すべての Cookie をブロック」に設定しました。このプロンプトは表示されないはずです。しかし、「信頼済みサイト」からサイトを削除すると、上記のプロンプトは表示されません。また、インターネット、ローカル イントラネット、信頼済みサイトはすべて同じレベル (中) を使用するように設定しました。サイトが信頼済みサイトにない場合は、「インターネット」または「ローカル イントラネット」のいずれかからのサイトのように動作するはずです。しかし、そうであれば、すべて同じ設定なのに動作が異なるのはなぜですか?
私のプライバシー設定は次のとおりです:
更新: プライバシー タブにインターネット ゾーンが具体的に記載されていることに気付きました。プライバシー設定はインターネットゾーンにのみ影響しますリンクされたいくつかのページに従って、ファイル (P3P {Platform for Privacy Settings}) を作成し、それを IE にインポートして、各ゾーンの Cookie に適用するルールを IE に具体的に指示できることを発見しました。
以下を作成しようとしましたが、まだ 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
ついに問題を解決することができました。信頼済みサイト ゾーンからイントラネット ゾーンにサイトを移動することで、この問題を解決できました。
これが機能する理由は、イントラネット ゾーンが既定ですべての Cookie を受け入れるからです。インターネット ゾーンの Cookie 設定は [プライバシー] タブで決定され、信頼済みサイト ゾーンは既定ですべての Cookie を要求し、制限付きゾーンはすべての Cookie をブロックします。P3P xml ファイルを IE にインポートしてこれらの設定を上書きするオプションがありますが、うまくいかないようです。そのため、サイトをイントラネット ゾーンに置いておくしかないと思います。これは、当然、各ユーザーのマシンで実行する必要があります。セットアップしたデスクトップが起動していないようだったので、サーバー マシンではすでに実行しました。信頼済みサイトの設定をイントラネット ゾーンでも設定する必要があるかもしれませんが、サーバー マシンで機能しているので、他のすべてのデスクトップ ユーザー マシンでもイントラネット ゾーンでこれらの設定を使用していると想定しています。