Похоже, они работают над этим.

ome и Firefox <57 это работает, но в Firefox Quantum не работает.

Цель состоит в том, чтобы отправить сообщение на другую вкладку в браузере.

При заполнении ввода текста и нажатии кнопки «Отправить» другая вкладка в браузере должна написать сообщение в консоли браузера.

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);

Ответы на вопрос(1)

Решение Вопроса

по-видимому, Firefox Quantum по умолчанию включает многопроцессорную функциональность и еще не поддерживает SharedWorkers.

Чтобы проверить, есть ли у вас тип многопроцессорной активациио: отладки # рабочих в адресной строке, если она активна, вы должны увидеть желтое предупреждение о SharedWorkers в верхней части страницы.

Вы можете отключить эту функцию, перейдя по ссылке в этом предупреждении.

 J. Allen22 апр. 2018 г., 22:30
Вот ссылка на ошибку Mozilla:bugzilla.mozilla.org/show_bug.cgi?id=1438945 Похоже, они работают над этим.

Ваш ответ на вопрос