IEとshExpMatch関数の問題点
最終更新日: 2010年09月25日
掲載日: 2008年04月30日
概要
Active! mailを使用時に何も操作をしない状態が数分かそれ以上あった後、「メール受信」等のメニューボタンをクリックするとJavaScriptエラーが発生します。
発生までの流れは次のとおりです。
・Internet Explorer設定でproxy.pacを使用する設定にする。
proxy.pacでは「shExpMatch関数」を使用して、Active! mail接続はProxyを経由しない設定にする。
・Active! mailログインを行った後、10分程度何も操作しない状態で放置する。
・時間経過後、「メール受信」等のメニューボタンをクリック
・問題発生。
次のようなJavaScriptエラーが発生する。
ライン: 391
文字: 5
エラー: 書き込みできません。
この現象は「shExpMatch関数」使用時でも時間をおかない通常操作では発生しないことが特徴です。
条件となるInternet Explorer設定方法とproxy.pac内容は次のとおりです。
Internet Explorerでのproxy.pac設定例
・Internet Explorerにて、「ツール」→「インターネット オプション」
・「インターネット オプション」画面の「接続」タグ→「LANの設定」
・「ローカル エリア ネットワーク(LAN)の設定」画面の「自動構成スクリプトを使用する」にチェックを入れ、サーバ上等からproxy.pacを読み込み。
例)アドレス: http://www.example.com/proxy.pac
proxy.pac設定例
function FindProxyForURL(url,host)
{
if(shExpMatch(url,"http://webmail.example.co.jp/*") )
{
return "DIRECT";
}
}
※「http://webmail.example.co.jp/」がActive! mailのURL例
発生条件に類似したFRAMESETタブを利用した単純な挿入処理を行うWebページで確認したところ、同現象が再現しました。
以上より、本事象はActive!mailの問題ではなく、Internet Explorerによる「shExpMatch関数」の問題となります。
