同じドメインの 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 デバイスを持っていればこれをデバッグできたでしょうが、残念ながらこれをテストしたデバイスは私のものではないので、ここで助けが必要です。
なぜこれが起こっている/起こっていないのか誰にも分かりますか?