我正在尝试创建一个devtools扩展,从添加一个面板开始。我只是从加载到我的扩展程序页面上的外部脚本调用chrome.devtools.panels.create
。但是当我为扩展程序选择工具栏按钮时,会创建一个新的面板实例,并在原始右侧显示相应的按钮。选择该新按钮实例会重复该行为。
我已经关注了Google's example和detailed blog post,但是我们都没有看到任何应该从事件监听器调用的内容。我也找不到任何方法来检测面板的其他实例,所以我不知道如何避免这个问题。我不确定我是否可能遇到一个新的bug,或者我忽略了一些基本的东西......
答案 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
,否则您将再次遇到同样的问题。
我希望这会有所帮助。