2011-11-11 13 views
2

コンテンツのスクリプトからバックグラウンドページにメッセージを送信し、コンテンツスクリプトのtab_idを記録するChrome拡張機能があります。 私はgoogle.com | de |に2つのメッセージが記録されているので、2つのコンテンツスクリプトが作成されていることがわかりました。つまり、タブに表示されている実際のWebページ(例:https://www.google.com/search?q=python+standard+library)とgoogle結果リストの最初の項目(上記の例ではhttp://docs.python.org/library/Google Chromeの拡張機能の非表示のタブ

2番目のコンテンツスクリプト(非表示のもの)のtab_idは無効です。私。

エラーをpageAction.hide中に:chrome.pageAction.hide(tab_id)が表示されるように、次のエラーが発生していないIDを持つタブ:71

を把握する方法はありコンテンツスクリプトが "に属している場合隠された "タブ?

おかげで、すべての ピーター

答えて

1

まず、あなたはコンテンツスクリプトを必要とせずにタブとURLマッピングを追跡するためにonCreatedおよび/またはonUpdatedを使用することができます。

ただし、コンテンツIDの背景ページに通知するだけではなく、コンテンツスクリプトの方が多くある場合は、より多くの確認が必要になることがあります。

コンテンツスクリプトがall_framesで実行されている場合は、コンテンツスクリプトのメッセージが上部ウィンドウとすべての内部フレームに表示されます。それでも、サンプル実装をテストすると、それらのすべてに対して同じIDが取得されます。また、検索結果リストのエントリには表示されません。

すべてのタブでスクリプトを実行している場合は、if (window.top === window)を使用してsendRequest呼び出しをラップして、トップウィンドウのみがメッセージを送信するようにすることができます。

Googleの結果を何とかプレビューする別の拡張機能を使用している可能性はありますか?それはこの効果があるかもしれません....

関連する問題