Firefox Extension building/SDK,单击扩展中的页面dom元素

Firefox Extension building/SDK,单击扩展中的页面dom元素,firefox,sdk,Firefox,Sdk,我正在使用FF 31上最新的SDK开发Firefox扩展 在过去(在SDK出现之前,几年前),扩展可以完全操作用户所在页面的所有部分,例如更改dom元素等 似乎仍然支持修改dom元素,但我似乎无法在页面(而不是扩展)创建的dom元素上触发“单击” 上面的代码只是查找以“here”作为确切文本的链接,并尝试单击它。它发现它很好,但单击操作没有任何作用。找到了答案 对于有相同问题的人,请将此添加到“my addon.js”脚本的顶部 然后可以这样调用它(来自同一个my-addon.js脚本): //

我正在使用FF 31上最新的SDK开发Firefox扩展

在过去(在SDK出现之前,几年前),扩展可以完全操作用户所在页面的所有部分,例如更改dom元素等

似乎仍然支持修改dom元素,但我似乎无法在页面(而不是扩展)创建的dom元素上触发“单击”

上面的代码只是查找以“here”作为确切文本的链接,并尝试单击它。它发现它很好,但单击操作没有任何作用。

找到了答案

对于有相同问题的人,请将此添加到“my addon.js”脚本的顶部

然后可以这样调用它(来自同一个my-addon.js脚本):

// main.js

var data = require("sdk/self").data;
var pageMod = require("sdk/page-mod");

pageMod.PageMod({
  include: "*",
  contentScriptFile: [data.url("jquery.js"), data.url("my-addon.js")]
});


//my-addon.js

var z = $('a').filter(function(index) { return $(this).text() === "here"; });

if(z != null && z.length > 0){

    alert("FOUND IT");
    $(z).click();

}
unsafeWindow.click_object = function(_item) {
    _item.click();
}
unsafeWindow.click_object($(z).get(0));