Javascript Firefox插件全局对象与firebug控制台全局对象
Firebug是一个很棒的插件,我很想在开发Firefox扩展时使用它,不幸的是,它需要一些技巧——看起来它主要是用网页制作的,而不是用chrome脚本 我想使用Firebug控制台来检查和操作由扩展创建的对象。不幸的是,在控制台中键入“this”时,我发现当前的全局对象是Javascript Firefox插件全局对象与firebug控制台全局对象,javascript,firefox-addon,firebug,Javascript,Firefox Addon,Firebug,Firebug是一个很棒的插件,我很想在开发Firefox扩展时使用它,不幸的是,它需要一些技巧——看起来它主要是用网页制作的,而不是用chrome脚本 我想使用Firebug控制台来检查和操作由扩展创建的对象。不幸的是,在控制台中键入“this”时,我发现当前的全局对象是 Window <url here> 这就是我的插件和它的所有对象所在的地方。我如何从Firebug控制台访问这个对象(或者以另一种方式——从我的插件访问控制台中所谓的“this”)呢 有一种方法可以执行MDN中
Window <url here>
这就是我的插件和它的所有对象所在的地方。我如何从Firebug控制台访问这个对象(或者以另一种方式——从我的插件访问控制台中所谓的“this”)呢
有一种方法可以执行MDN中描述的类似操作:
但它要求调用脚本是一个特权窗口,而控制台显然不是。在控制台中运行此代码段会导致:
Error: Permission denied for <http://siteurl> to create wrapper for object of class UnnamedClass
[Break On This Error]
.getInterface(Components.interfaces.nsIWebNavigation)
错误:拒绝为类UnnamedClass的对象创建包装的权限
[在此错误上中断]
.getInterface(Components.interfaces.nsIWebNavigation)
你可以试试Chromebug
另一条路是开放的chrome://browser/content/browser.xul,然后您将在选项卡中看到一个Firefox浏览器窗口,打开父窗口Firebug,
窗口
对象就是您想要的。我认为如果不构建Firebug modFirebug,您无法做到这一点。Firebug不适用于扩展,您可能会更幸运地使用Chromebug(这是Firebug的扩展)。
Error: Permission denied for <http://siteurl> to create wrapper for object of class UnnamedClass
[Break On This Error]
.getInterface(Components.interfaces.nsIWebNavigation)