0

同じドメインの 2 つのウィンドウ間でデータを通信する必要があります

前述の質問に対する回答の 1 つで提案されているように、この localStorage イベント メッセージの回避策を試すことにしました。

var input = document.getElementById("text");
var output = document.getElementById("textout");
input.addEventListener("keyup", function(){
   window.localStorage.setItem("AddedUser", input.value);
});

window.addEventListener("storage", function(event){
  output.innerHTML = window.localStorage.getItem("AddedUser");
}, true);

このフィドルで示されているこのコードは、他のタブ/ウィンドウが入力フィールドの値として持っているものを表示します。これは、Mac の chrome、safari、firefox、および Android の chrome とデフォルト ブラウザで完全に動作します。(フィドルで 2 つのタブを開き、入力フィールドに何かを入力してから、タブを切り替えて、「#textout」の内容が変更されていることを確認してください。)

ただし、これはios7では機能しません(申し訳ありませんが、古いものではテストできませんでした)。chromeとsafariの両方で何も起こりません。Apple デバイスを持っていればこれをデバッグできたでしょうが、残念ながらこれをテストしたデバイスは私のものではないので、ここで助けが必要です。

なぜこれが起こっている/起こっていないのか誰にも分かりますか?

4

0 に答える 0