2016-07-27 6 views
0

開発したJS SDKのChrome Devtools拡張機能を作成しようとしています。このSDKには、addEventListener(イベントはDOMイベントではありません)があり、私が作成したdevtoolsパネルに公開されているすべてのイベントを表示できるようにしたいと考えています。ページのJSからdevtoolsページのコールバックを実行する方法は?

基本的に私は私のデベロッパーツールでページのスクリプトを次のコードを持ってできるようにしたいと思います:

chrome.devtools.inspectedWindow.eval(
      "mySDKonTheContentPage", function(result, isException){ 
       mySDK =result; 
       mySDK.addEventListener("myEvent", function(){ 
        doSomethingInDevtoolsUI(); 
       }); 
      }); 

コンテンツスクリプトはページのJSオブジェクトへのアクセスを(彼らのですか?)持っていないので、私はドンどこから始めるべきか本当に分かりません。

+0

あなたの質問はあまり明確ではありません。しかし最後の行によれば、コンテンツスクリプトを通してページjavascript変数にアクセスする場合は、http://stackoverflow.com/questions/3955803/page-variables-in-content-script –

+0

をご覧ください。申し訳ございませんが質問が不明な場合。私はdevtoolsの拡張機能を書いても、拡張機能にはページ上で何が起こっているのかを知ることができると思ったが、明らかにそうではないと思った。 – psykhi

答えて

1

ご使用のページのスクリプトでは、window.postMessageを使用してコンテンツスクリプトにデータを送信できます。そこから、コンテンツスクリプトとDevToolsパネル間の通信をバックグラウンドページで設定できます。

Messaging from Injected Scripts to the DevTools PageおよびMessaging from Content Scripts to the DevTools Pageを参照してください。

+0

ありがとう!私はこれを行う直接的な方法がないのではないかと心配していました。注射スクリプト=>コンテンツスクリプト=>バックグラウンド=> devtoolパネルの方法で試してみましょう:p – psykhi

+0

誰にでも役立つ場合は、これを実装する簡単なgithubリポジトリを作成しました:https://github.com/psykhi/ chrome-devtools-extension – psykhi

+0

@psykhiこれは本当に便利です。これを投稿していただきありがとうございます。 –

関連する問題