問題タブ [shared-worker]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
97 参照

javascript - OpenFinで共有ワーカーを検査するには?

アプリケーションが OpenFin で実行されているときに、 SharedWorkerスレッドを調べてコンソール ログをデバッグおよび確認するオプションを探しています。

Chrome 開発者ツールで JavaScript 反応ベースのアプリケーションをデバッグしており、共有ワーカーは chrome://inspect/#workers でアクセス可能です。しかし、OpenFin で実行すると、共有ワーカーを検査するオプションが見つかりませんでした。

なにか提案を?

0 投票する
1 に答える
426 参照

electron - electron: BrowserWindow で chrome://inspect 特別な URL を開いて SharedWorkers をデバッグする方法

私の必要性は、SharedWorkers からデバッグ情報にアクセスすることです。通常の chrome ウィンドウでは、chrome://inspect を開いてこれを行いますが、electron の BrowserWindow では同じことを行うことができませんでした。

発行してみました

dev-tools コンソールから、しかし、空白のウィンドウが表示され、新しいウィンドウで dev-tools を開くと、

手がかりはありますか?

0 投票する
1 に答える
1434 参照

javascript - SharedWorker でデータを共有する方法

SharedWorker については、インターネットと StackOverflow で多くの議論とチュートリアルが行われてきましたが、2 つの共有ワーカー間で直接データを渡すという最も基本的な目標を実際に達成したものはありません。

私にとって、専用の Web ワーカーに対する SharedWorker の強みは、前者が異なるタブ、iframe、およびスレッドを介して直接通信できることです。私は次のことを試しました:

(shared.html:)

(共有.js)

[Initiate A] をクリックしてから [Initiate B] をクリックすると、コンソールに次のエラー メッセージが表示されました。

shared.html:15 Uncaught DOMException: 'MessagePort' で 'postMessage' を実行できませんでした: 転送されなかったため、MessagePort を複製できませんでした。

つまり、ポートを渡すことができませんでした。

SharedWorker もまったく同じです。ほとんどの場合、通常の専用 Worker で十分なようです。

0 投票する
1 に答える
165 参照

sockets - GitHub が WebSocket に SharedWorker を使用する理由

問題が更新されたときに GitHub がコンポーネントを再レンダリングする方法に興味があり、SharedWorker で WebSocket を使用していることがわかりました。
しかし、なぜメイン スレッドではなく、SharedWorker 内で使用するのでしょうか? もう 1 つのスレッドで WebSocket を使用することの主な利点は何ですか?

0 投票する
0 に答える
141 参照

javascript - ブラウザ クライアントで websocket を介して mqtt を実装する方法は?

Paho JS ライブラリを使用して通知を実装するWeb アプリケーションで、websocket で mqtt を使用しようとしています。(保留中のメッセージを受信するために)永続的な接続を使用する必要があり、そのためには一意のクライアントIDが必要です。

問題 1:複数のタブが同じクライアント ID を使用して mqtt クライアントとして機能するため、無限ループで切断および接続されます (reconnect を true に設定したため)

すべてのタブに対して 1 つの接続のみを使用している Shared Worker を使用して上記の問題を解決しました。しかし今、私は別の問題に遭遇しました。

問題 2: Chrome と Firefox などの 2 つの異なるブラウザーでアプリケーションを開くと、異なる共有ワーカーが表示されるため、同じ clientId を使用する 2 つのクライアントで接続/切断ループが発生します。

どんな提案でも大歓迎です。