浏览器控制台出错“DEPRECATED:小部件模块已弃用。请考虑使用sdk / ui模块。”

时间:2014-08-06 14:13:17

标签: firefox firefox-addon firefox-addon-sdk

我正在使用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:对于任何看到此错误的人,请先检查是否是您的插件或任何其他附加组件,这会导致此错误。

3 个答案:

答案 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 }}