ウェブアプリケーションがで実行されています。IE 11エンタープライズモードアプリケーションがIE 8で互換性がある(IE 11をまだサポートしていない)。ローカルストレージイベントがIE 11エンタープライズモードで起動されていない
localStorageを使用していて、localStorageのキーが変更されたときに何らかのアクション(ログアウトページにリダイレクト)しようとしています。
以下のコードは、(8に設定されたバージョンで)IE 11(すなわち非エンタープライズモード)とIEデバッグモードで正常に動作していることに注意してください。ブラウザがIE 11エンタープライズモードの場合にのみ問題が発生しています。
下に述べたように、私はリスナーを添付している: - ログアウトは、タブのいずれかでクリックされたときに、他のタブで何らかのアクションを取るために
if (window.addEventListener) {
window.addEventListener("storage", handle_storage, false);
} else {
window.attachEvent("onstorage", handle_storage);
}
機能: -
var handle_storage = function() {
//some action i.e. redirecting to logout page
};
ログアウトボタンをクリックしたときのlocalStorageの値を設定します。 -
function saveLogoutInLocalStorage() {
if (typeof(Storage) !== "undefined") {
localStorage.setItem('is_logout','true');
}
}
* "P.S:これは重複する質問ではありません。私はこの質問を投稿する前にたくさん検索しました。" *は建設的ではありません。人々は以前のバージョンを見つけて、それを参考にしたり、そうしないようにします。そのようなコメントはすべて、人々を離れさせるものです。 –
あなたのエンタープライズモードが何を使用しているのか分かりますか?それはIE7またはIE8である可能性があります。 IE7 afaikでは、これらのイベントはサポートされていません。ローカルストレージをサポートしているエンタープライズモードであるかどうかわからない場合でも... – eisbehr
@eisbehr:* IE8をエミュレートしている場合、IE8がローカルストレージをサポートしているので(IE8がサポートしているかどうかはチェックしていませんが) 'storage'イベント; IE10とIE11でも[イベントのバグ](http://caniuse.com/#search=stor)があります。 –