私はクロムエクステンションを構築していて、Twitterからデータを取得しようとしていて、それを私のcontentscriptに渡しています。私はこれに多くの問題を抱えています。リモートサイトからデータを取得することはできますが、コンテンツスクリプトに渡すことはできません。 chrome.extension.onclick.addlistener(functionname);
を使用してアイコンをクリックしたときのリスナーがあります。これはデータを取得します。問題は一度私はデータを取得した、私は私のコンテンツスクリプトからの要求に応答を送信する必要があります。だから私はchrome.extension.Onrequest.addlistener(functioname);
と呼んでいます。コードの何が間違っているかを調べる前に、同じページで2つの別々のイベントの2つのリスナーを持つことができますか?それとも1つのリスナーしか持てませんか?クロムエクステンションの背景ページに複数のリスナーがありますか?
答えて
あなたはStackOverflowの上の迅速な検索を行う場合は、コンテンツのスクリプトに背景ページからメッセージを送信する方法についてのコードを使用して多くの例が表示されます。これを行う方法の詳細については https://stackoverflow.com/search?tab=relevance&q=content%20script%20background%20page
を、あなたは従うことができます
content_script.cs
0123:ドキュメント(コピーペースト)から http://code.google.com/chrome/extensions/messaging.html:ドキュメント自身、彼らは偉大な例を持っています
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
if (request.greeting == "hello")
sendResponse({farewell: "goodbye"});
else
sendResponse({}); // snub them.
});
background.html
chrome.tabs.getSelected(null, function(tab) {
chrome.tabs.sendRequest(tab.id, {greeting: "hello"}, function(response) {
console.log(response.farewell);
});
});
あなたはonRequestイベントのonClickイベントとリスナーのリスナーを作成しているという事実は問題ではありません。背景ページのためにコンソールでchrome.onClickとchrome.OnRequestと打ち込むことで知ることができます。それぞれが 'chrome.Event'型のインスタンスであることがわかります。
これについて考えると、リスナーを1つしか作成できなかった場合、{onrequest、onclick、ontabchange、onconnect、ondisconnectなどのいずれかにしか応答できないので、何か役に立つものを書く能力が大幅に低下します。 }
これはクレイジーな古い質問ですが、関連する問題が発生している間にこの問題を遭遇し、他の誰かにとって有用だった場合に分かち合いたいと思っていました。
複数のリスナーがある場合は、sendResponse
メソッドを呼び出す回数が最大で1回であることを確認してください。ドキュメントから:
sendResponse:応答があったときに呼び出す関数(多くとも1回)。 引数は任意のJSON対応オブジェクトでなければなりません。同じドキュメント内の1つのonMessageリスナーが 以上ある場合は、1つのみが 応答を送信することがあります。あなたが を示すために、イベントリスナーからtrueを返す場合を除き、イベントリスナー 戻ると、あなたが非同期的に応答を送信したい場合は、この関数は、(sendResponseが呼び出されるまで、これはもう一方の端に開いているメッセージ チャネルを維持します)は無効となります。
- 1. Base64の背景イメージは複数の行にありますか?
- 2. 複数のインライン背景画像とコンテナドキュメントがありません
- 3. CSSを使用して背景に複数の画像がありますか?
- 4. web.xmlに複数のリスナーがありますか?
- 5. ページの背景のスクロールが、divがURLがありません
- 6. ユーザーとページの背景のスクロールがあります
- 7. に背景画像があります。
- 8. レンダリングエンジンのチャンクサイズの背景には何がありますか?
- 9. GUIDのデザインの背景には何がありますか?
- 10. パンした画像の背景に黒い背景があります。 Swift 3
- 11. 各ページの背景が異なりますか?
- 12. ホバーの背景イメージに「Ken Burnsエフェクト」がありますか?
- 13. AJAXクロスドメインセキュリティの背景には何がありますか?
- 14. ページの上端と左端に背景画像があります
- 15. 背景はrepeat-yですが、ページの下にはありません
- 16. 複数の背景ビデオ
- 17. 複数の背景css3アニメーション
- 18. 複数の背景の背景サイズをアニメーション化する方法
- 19. 1ページに複数のFacebookのコメントボックスがありますか?
- 20. Isotopeの複数のインスタンスがページにありますか?
- 21. 複数のページに1つのPHPファイルがありますか?
- 22. 複数のアプレットが1つのjarファイルにあり、複数のアプレットが1ページにありますか?
- 23. リモートウィンドウからクロムエクステンションの背景ページにデータを戻すにはどうすればよいですか?
- 24. 複数の背景をあらかじめロードする
- 25. 1ページに複数のページ分割スクリプトがあります
- 26. 1ページに複数のページがあります
- 27. フルスクリーンビデオの背景にはフォールドの下にコンテンツがあります
- 28. すべての要素にCSSの背景があります
- 29. 複数のGoogle AnalyticsトラッキングIDが1ページにありますか?
- 30. 1ページに複数のTwitterフィードがありますか?
私はあなたはそれがあなたの質問をするためにあなたを取った同じ時間については自分でこれをで試すことができ想像します。 –
私がテストし、私は私のコードに問題があるか、コードが細かいとあれば、それがダウンして、このルールにされているかどうかをすることができませんでしだ。あなたがもっと役に立つ応答を持っていれば、私はそれを感謝します。 – JMunch
いくつかのコードを共有してもよろしいですか?そうすれば、他の人があなたのコードで考えられる問題を探すことができます。 –