从调试器访问我的插件的主js文件中的全局变量

时间:2016-08-01 19:16:36

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

我正在尝试在调试器的插件入口点访问全局变量。由于这不是Web应用程序,因此没有窗口对象,并且我在调试器控制台中无法直接访问我全局定义的函数。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

SDK插件没有共享的全局对象。每个模块都有自己的全局注入共享功能的全局,最突出的是require()函数,然后提供对其他模块中导出对象的访问。

对于调试,您可以在某个模块中console.log(this),然后通过右键单击>从该插件的about:debugging控制台访问记录的对象。在控制台输出上存储为全局变量。

另请注意,全局对象与文件中的顶级范围不同。 var声明,this.foo = ...作业和function bar() {}语句附加到全局对象,letconst或IIFE中的任何内容都不会。

因此,访问对象与在同一范围内运行控制台不同。

只需记录您需要访问的对象,然后将记录的对象绑定到当前控制台通常就可以解决这个问题。