問題タブ [e10s]
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.
javascript - Firefox フレームスクリプトから Web ページにメッセージを投稿するには?
拡張機能を Firefox マルチプロセス (e10s) に調整しています。
フレーム スクリプトの postMessage を使用して、Web ページにデータを送信したいと考えています。
Firefox のドキュメントには、「window」オブジェクトの代わりに「content」オブジェクトを使用するようにすべきだと書かれています。コンテンツ ページにアクセスしようとすると、次のエラーが表示されます。
コンテンツ オブジェクトにアクセスするにはどうすればよいですか? frame-script.js に何かロードする必要がありますか?
(Webページからデータを取得し、拡張機能に送信して、拡張機能から他のデータを取得することにすでに成功しています)
javascript - postMessage を Web スクリプトから frame-script に送信する
frame-script.js では、web ページ上の web スクリプトから postMessages をキャッチ/リッスンできません (カスタム イベントも)。
しかし、試してみたところ、「クリック」イベントをキャッチできました。
私は何を間違っていますか?
次のようなメッセージを投稿します。
フレーム スクリプトをリッスンします。
も試した
postMessage をキャッチしません。
firefox - Firefox 拡張機能: 親で観察された http-on-modify-request に、負荷を担当する子フレームへのメッセージで応答する
特定のネットワーク負荷の検出と中止に依存する既存の Firefox 拡張機能を拡張しようとしていnsIContentPolicy
ます (結果として生じる UI アクション、つまりタブ ナビゲーションをブロックするため)。次に、そのリソースのロードを内部的に処理します。まれな状況では、ロードを処理した後で、ロードをまったく中断すべきではなかったことが判明したため、無視するようにフラグを立てて再開します。
e10s/マルチプロセスでは、親 (コンテンツ ポリシーが実行されている場所) がメッセージを子 (コンテンツの UI を処理している) に送信して、ロードを再開する必要があることを意味します。今日、それは以下によって行われます:
e10sは非常に複雑であるため、これは非常に複雑です。しかし、それは機能します。親でオブジェクトを生成し、その上で を呼び出す.sendAsyncMessage()
とaddMessageListener()
、フレーム/子スクリプトのハンドラーがそれを受け取り、必要な処理を実行します。
より良い判断 (この負荷をブロックして処理しますか?) を行うためのより多くの情報が表示されるため、からnsIContentPolicy
に切り替えたいと思います。http-on-modify-request
そのオブザーバー内で私ができること:
これにより、ある種のメッセージマネージャーであり、.messageManager
メソッドを持つオブジェクトが得られます。しかし、それを使用すると、メッセージが消え、子供に見られることはありません。.sendAsyncMessage()
.sendAsyncMessage()
コンテキスト: https://github.com/greasemonkey/greasemonkey/issues/2280
jquery - マルチプロセス Firefox 拡張機能で JQuery を使用できますか?
Mozilla のドキュメントは、この問題について沈黙しています。知っている人で、その理由または理由を説明して説明できる人はいますか? そうでない場合は、ポリシーの理由とアーキテクチャ上の決定を知りたいです。
編集: この質問は、アドオン SDK を使用できず、代わりに従来のオーバーレイ パターンを使用する拡張機能に限定されます。
firefox - e10s アドオンでアクティブなタブの URL を取得する方法
ツールバーのボタンをクリックするには、アクティブなタブの URL アドレスを取得する必要があります。
しかし
エラーになりCPOW
ます。
e10s アドオン内のアクティブなタブ URL の URL の場所を取得するにはどうすればよいですか?
firefox - multiprocessCompatible タグは Firefox のマルチプロセス互換性に必要ですか?
AMO にツールバー ボタン アドオンがあります。現在のところ、Firefox の通常バージョンと e10s バージョンで動作します。しかし、AMO バリデーターはアドオンに em:multiprocessCompatible タグを追加するように要求します。
<em:multiprocessCompatible>true</em:multiprocessCompatible>
AMO アドオンを更新せず、install.rdf に em:multiprocessCompatible タグを追加しない場合、Firefox 50 でアドオンが無効になるということですか?