サーバ側のサポートなしに、同じブラウザで複数の開いているタブ間で通信する通信チャネルを準備するにはどうすればよいですか?ブラウザ内で2つのタブはどのように通信できますか?
3
A
答えて
3
Window/postMessageをご覧ください。
を使用してStorageEventを登録し、別のタブから反応させることもできます。
興味深いのは次のとおりです。Using the Web Storage API;
例page2.html
<script>
window.addEventListener("storage", function(StorageEvent){
console.log(StorageEvent);
alert(StorageEvent.newValue);
});
</script>
1
することができますALSにのlocalStorageとpage1.html
<button>CLICK ME TO CHANGE "A" - "B"</button>
<script>
document.querySelector("button").addEventListener("click", function(){
localStorage.ab = localStorage.ab === "A" ? "B" : "A";
});
</script>
にこれを入れStorageEvent
、これを使用してWeb-Socketsを活用して、リアルタイムのイベントベースのタブとブラウザ間のコミュニケーションを実現します。 Socket.ioなどのライブラリは、プロセス全体を非常に簡単にします。
関連する問題
- 1. どのように2つのスレッドが互いに通信できますか?
- 2. チャットサーバーはサーバーファーム内でどのように通信しますか?
- 3. 2つのオブジェクトがどのように通信するか(例の内部)
- 4. どのように2つのアンドロイドアプリケーションを通信するには?
- 5. GWT:ブラウザのタブ名はどのように変更できますか?
- 6. AppEngineの2つのアプリケーションはどのように相互通信できますか?
- 7. どのようにHTTPSと通信できますか? (Basic Stuff)
- 8. iPhone:どのようにiphoneのボタンアクションで2つのリンクと2つのサファリブラウザのタブを開きますか?
- 9. どのように2つのディレクティブを互いに通信させることができますか?
- 10. FCMのブラウザでフォアグラウンドの各タブごとに1つの通知を受信
- 11. ブラウザは電子メールプログラムとどのように通信しますか?
- 12. ブラウザ通知を特定のユーザ/ブラウザに送信するにはどうすればよいですか?
- 13. 親コンポーネントはVue.jsの子コンポーネントとどのように通信できますか?
- 14. プライベートサブネットとパブリックサブネットのec2インスタンスはどのように通信できますか?
- 15. 32ビットプロセスは.NETの64ビットプロセスとどのように通信できますか?
- 16. ブラウザでHTMLをどのように配信しますか?
- 17. Chromedriverはブラウザと内部的にどのように通信していますか?
- 18. 2つのローカルgit-reposを通信できますか?
- 19. Jnlpとブラウザの間で通信できますか?
- 20. 1つの.NETソリューション内でプロジェクト間で通信するにはどうすればよいですか?
- 21. プログラムはどのように通信するのですか?マイクロカーネルモノリシックカーネルエクソカーネル
- 22. SKSceneはコンテナSKViewとどのように通信できますか?
- 23. Chrome拡張機能はシステムプロセスとどのように通信できますか?
- 24. 2つのQProcessが信号とスロットで通信できますか?
- 25. アプリケーション内に2つのAlarmManagerを送信できますか?
- 26. どのように通知をユーザーからユーザーに送信できますか?
- 27. プッシュ通知がiOSで配信されたかどうかはどのように確認できますか?
- 28. Objective-CでRS232デバイスとどのように通信できますか?
- 29. 2つのアングルアプリ間でiframeを使用して通信するにはどうすればよいですか?
- 30. 2つのASP.NETコアサーバーアプリケーション間で通信するにはどうすればよいですか?