1
ChromeとFirefox < 57 FirefoxではQuantumが動作しません。Firefox Quantum SharedWorkerが動作しない
目的は、ブラウザの別のタブにメッセージを送信することです。
テキスト入力を入力して送信ボタンをクリックすると、ブラウザの他のタブでブラウザコンソールにメッセージを書き込む必要があります。
htmlファイル:私はちょうど同じ問題に出くわした
<script type="text/javascript">
const myWorker = new SharedWorker("sharedWorkerChat.js");
const port = myWorker.port;
port.addEventListener("message", function(e) {
console.log(e.data);
}, false);
port.start();
function postMessage() {
const value = document.getElementById("input").value;
console.log(value);
port.postMessage(value);
}
</script>
<input type="text" id="input" />
<button onclick="postMessage()"> Send </button>
sharedWorkerChat.js
var m;
var instances = [];
self.addEventListener("connect", function (e) {
var port = e.ports[ 0 ];
instancias.push(port);
port.addEventListener("message", function (message) {
m = message.data;
instances.forEach(function(p) {
p.postMessage(m);
});
}, false);
port.start();
}, false);