我正在尝试在调试器的插件入口点访问全局变量。由于这不是Web应用程序,因此没有窗口对象,并且我在调试器控制台中无法直接访问我全局定义的函数。任何帮助将不胜感激。
答案 0 :(得分:1)
SDK插件没有共享的全局对象。每个模块都有自己的全局注入共享功能的全局,最突出的是require()
函数,然后提供对其他模块中导出对象的访问。
对于调试,您可以在某个模块中console.log(this)
,然后通过右键单击>从该插件的about:debugging控制台访问记录的对象。在控制台输出上存储为全局变量。
另请注意,全局对象与文件中的顶级范围不同。 var
声明,this.foo = ...
作业和function bar() {}
语句附加到全局对象,let
,const
或IIFE中的任何内容都不会。
因此,访问对象与在同一范围内运行控制台不同。
只需记录您需要访问的对象,然后将记录的对象绑定到当前控制台通常就可以解决这个问题。