我正在使用addon-sdk来开发扩展程序。当我在Firefox 32.0上使用cfx run
运行我的代码并检查浏览器控制台时,它显示如下:
"DEPRECATED: The widget module is deprecated. Please consider using the sdk/ui module instead.
Traceback (most recent call last):
File "resource://gre/modules/commonjs/sdk/addon/runner.js", line 114, in startup/<
run(options);
File "resource://gre/modules/commonjs/sdk/addon/runner.js", line 170, in run
let program = main(options.loader, options.main);
File "resource://gre/modules/commonjs/toolkit/loader.js", line 645, in main
return loader.load(loader, module).exports;
File "resource://gre/modules/commonjs/sdk/loader/cuddlefish.js", line 129, in CuddlefishLoader/options<.load
result = load(loader, module);
File "resource://gre/modules/commonjs/toolkit/loader.js", line 299, in load
evaluate(sandbox, module.uri);
File "resource://gre/modules/commonjs/toolkit/loader.js", line 262, in evaluate
: loadSubScript(uri, sandbox, encoding);
File "resource://skype_ff_extension-at-jetpack/skype_ff_extension/lib/main.js", line 14, in null
var widgets = require("sdk/widget");
File "resource://gre/modules/commonjs/toolkit/loader.js", line 619, in require
freeze(load(loader, module));
File "resource://gre/modules/commonjs/sdk/loader/cuddlefish.js", line 129, in CuddlefishLoader/options<.load
result = load(loader, module);
File "resource://gre/modules/commonjs/toolkit/loader.js", line 299, in load
evaluate(sandbox, module.uri);
File "resource://gre/modules/commonjs/toolkit/loader.js", line 262, in evaluate
: loadSubScript(uri, sandbox, encoding);
File "resource://gre/modules/commonjs/sdk/widget.js", line 60, in null
"The widget module is deprecated. " +
File "resource://gre/modules/commonjs/sdk/util/deprecate.js", line 18, in deprecateUsage
let stack = get().slice(2);"
如何调试此错误?
PS:对于任何看到此错误的人,请先检查是否是您的插件或任何其他附加组件,这会导致此错误。
答案 0 :(得分:2)
打开:支持
然后在那里搜索Skype Click to Call插件ID
并删除名称为
的文件 {82AF8DCA-6DE9-405D-BD5E-43525BDAD38A}.xpi
来自你的
mozilla_installation_path\browser\extensions\
(c:\Program Files (x86)\Mozilla Firefox\browser\extensions\)
答案 1 :(得分:1)
解决方案是编辑附加组件中的代码。取出require('widget')
并转到require('sdk/ui')
:https://blog.mozilla.org/addons/2014/03/13/new-add-on-sdk-australis-ui-features-in-firefox-29/
更改为sdk/ui
后,您必须更改加载项使小部件使用sdk / ui的方式。通过以下方式倾向于:
查看并按照说明中的链接&#34;已弃用&#34;在
widget
模块的文档页面上看到:https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/widget
答案 2 :(得分:0)
尝试从extensions.sdk.console.logLevel; all
移除about:config
并将其替换为extensions.YOUR_EXTENSION_ID.sdk.console.logLevel; all
这应该会将日志级别返回到默认值error
,这意味着您将看不到任何其他扩展名“console.log
”。
上面仍然显示其他扩展程序的错误消息,如果要删除它们,请执行以下操作。
查看this post以获取解释。实际上,您将一个字符串添加到名为about:config
的{{1}}(通过右键单击)并将其设置为extensions.sdk.console.logLevel
,然后添加字符串off
并将其设置为{{1 }}