2017-11-21 9 views
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); 

答えて

2

、どうやらFirefoxのクアンタムは、デフォルトでマルチプロセッシング機能を有効にし、それがまだSharedWorkersをサポートしていません。

マルチプロセッサ対応のタイプがあるかどうかを確認するには、アドレスバーにdebugha#workersがあるかどうかを確認してください。アクティブな場合は、ページの上部にあるSharedWorkersに関する黄色の警告が表示されます。

この機能を無効にするには、その警告のリンクをクリックします。

関連する問題