Javascript 在Firefox扩展中模拟鼠标事件

Javascript 在Firefox扩展中模拟鼠标事件,javascript,firefox,firefox-addon,xul,Javascript,Firefox,Firefox Addon,Xul,我需要在JavaScript中模拟可信的mousemove事件。我在那里读到: 在Firefox中,如果用户调用某个事件,则该事件受信任;如果脚本调用该事件,则该事件不受信任 然后我开始寻找其他解决方案。我发现: 是的,扩展生成的事件始终是可信的 所以,现在我想编写FireFox扩展,允许我创建mousemove可信事件。不幸的是,我从未编写过FireFox的扩展,所以我需要澄清一些要点。我所拥有的: 我下载了XPI文件的示例 我为bootstrapped扩展创建了install.rdf和b

我需要在JavaScript中模拟可信的mousemove事件。我在那里读到:

在Firefox中,如果用户调用某个事件,则该事件受信任;如果脚本调用该事件,则该事件不受信任

然后我开始寻找其他解决方案。我发现:

是的,扩展生成的事件始终是可信的

所以,现在我想编写FireFox扩展,允许我创建mousemove可信事件。不幸的是,我从未编写过FireFox的扩展,所以我需要澄清一些要点。我所拥有的:

  • 我下载了XPI文件的示例
  • 我为bootstrapped扩展创建了install.rdf和bootstrap.js(比如FireBug)
  • 但现在我不明白了:

  • 在本文中:
  • 我看到代码:

    var utils = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
                          .getInterface(Components.interfaces.nsIDOMWindowUtils);
    utils.sendMouseEvent("mousedown", 10, 10, 0, 1, 0); utils.sendMouseEvent("mouseup", 10, 10, 0, 1, 0);
    
    我必须在bootstrap.js中插入此代码的哪一点?如何理解我必须将其附加到某个活动(或指定?)窗口中

  • 如何在FireBug扩展中类似JavaScript的全局对象“控制台”中运行扩展代码

  • 如果您能在启动bootstrap插件时解释一下,我将不胜感激。它马上就跑。您需要访问一个
    窗口
    ,因为引导作用域不能访问任何窗口。通过键入
    var window=Services.wm.getMostRecentWindow('navigator:browser')
    ,您可以访问最新的
    navigator:browser
    窗口(一个有选项卡的窗口)。确保像这样导入
    Services.jsm
    var{interfaces:Ci,utils:Cu}=Components;Cu.进口resource://gre/modules/Services.jsm');谢谢。我还有一个问题:如何在扩展中创建全局JS对象?因为当我尝试时:var window=Services.wm.getMostRecentWindow('navigator:browser');window.test={};我在我的FF控制台中没有看到它。您可以从任何地方访问插件的引导范围: