2

パネルの追加から始めて、devtools 拡張機能を作成しようとしています。chrome.devtools.panels.create拡張機能のページにロードされた外部スクリプトから呼び出しているだけです。しかし、拡張機能のツールバー ボタンを選択すると、パネルの新しいインスタンスが作成され、対応するボタンが元のボタンの右側に表示されます。その新しいボタン インスタンスを選択すると、動作が繰り返されます。

私はGoogle の例詳細なブログ投稿に従いましたが、どちらにも、これをイベント リスナーから呼び出す必要がある場所は見られません。また、パネルの他のインスタンスを検出する方法が見つからないため、この問題を回避する方法がわかりません。新しいバグに遭遇した可能性があるのか​​ 、それともここで何か基本的なことを見落としているのかわかりません...

4

1 に答える 1

1

同じ問題がありました。私の問題は、そのpanels.create()メソッドを呼び出すループがあったことです。

ループの誘導

私のmanifest.jsonファイルは次のことを示しました:

"devtools_page": "devtools.html"

私のdevtools.htmlinclude 、次のようdevtools.jsに呼び出されpanels.create()ました:

chrome.devtools.panels.create('Title', 'iconfile', 'devtools.html');

これが問題でした。これは、私の方法がループで リコールさpanels.create()れる新しいパネルを作成していたためです。devtools.htmlpanels.create()

ループの修正

このメソッドはhtml、次のような実際のパネル コンテンツをすべて格納する別のファイルを呼び出す必要があります。

chrome.devtools.panels.create('Title', 'iconfile', 'panel.html');

panel.html含めることはできません。そうしないdevtools.jsと、同じ問題が再び発生します。

これが役立つことを願っています。

于 2013-02-12T16:03:04.563 に答える