<分区>
如何在没有任何服务器端支持的情况下准备一个通信 channel 以在同一浏览器中的多个打开的选项卡之间进行通信?
标签 javascript
<分区>
如何在没有任何服务器端支持的情况下准备一个通信 channel 以在同一浏览器中的多个打开的选项卡之间进行通信?
最佳答案
您还可以使用 Window.localStorage
并注册一个 StorageEvent并从另一个选项卡对其使用react。
这是一篇有趣的读物:Using the Web Storage API ;
示例 使用 localStorage 和 StorageEvent
将其放入 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>
并将其放入 page2.html
<script>
window.addEventListener("storage", function( StorageEvent ){
console.log( StorageEvent );
alert(StorageEvent.newValue);
});
</script>
关于javascript - 两个选项卡如何在浏览器内通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43173864/
相关文章:
javascript - 如何在包含 iframe 或仅包含框架的 HTML 文档中查找选择
javascript - jQuery:将可点击事件分配给具有相似ID的多个div
javascript - 更改文本区域中唯一单词的样式/颜色?不是除法
javascript - 回调 spy 不会在流结束时被调用
javascript - 动态更改相对左上角的 div 位置
javascript - 无法在我的 create-react-app 中从 'redux-saga' 导入 createSagaMiddleware