避免重复的Developer Tool面板实例

时间:2013-01-27 09:05:29

标签: google-chrome-extension google-chrome-devtools

我正在尝试创建一个devtools扩展,从添加一个面板开始。我只是从加载到我的扩展程序页面上的外部脚本调用chrome.devtools.panels.create。但是当我为扩展程序选择工具栏按钮时,会创建一个新的面板实例,并在原始右侧显示相应的按钮。选择该新按钮实例会重复该行为。

我已经关注了Google's exampledetailed blog post,但是我们都没有看到任何应该从事件监听器调用的内容。我也找不到任何方法来检测面板的其他实例,所以我不知道如何避免这个问题。我不确定我是否可能遇到一个新的bug,或者我忽略了一些基本的东西......

1 个答案:

答案 0 :(得分:0)

我有同样的问题。我的问题是我有一个调用panels.create()方法的循环。

诱导循环

我的manifest.json文件显示:

"devtools_page": "devtools.html"

我的devtools.html包含devtools.js,其中panels.create()就像这样:

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

这是问题所在,因为我的panels.create()方法正在创建一个由devtools.html组成的新面板,该面板会在循环中调用panels.create()

修复循环

此方法应调用单独的html文件,该文件将包含您的所有实际面板内容,例如:

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

panel.html不能包含devtools.js,否则您将再次遇到同样的问题。

我希望这会有所帮助。