1

我对 FF 扩展创建完全陌生,我会比较具体。

例如,当我在 Firefox 的内置沙箱中运行 JS 命令时,它工作得很好,所以我想制作一个 FF 插件,单击时会执行相同的 JS 命令。该命令基本上适用于网页:

javascript:$('.plus').click();

我想它不必像这样工作:

var Widget = require("widget").Widget;
var tabs = require('tabs');

exports.main = function() {

new Widget({
    id: "user-widget-1",
    label: "My Mozilla Widget",
    contentURL: "http://www.mozilla.org/favicon.ico",
    onClick: function(event) {        
        javascript:$('.plus').click();
    }
});

};

谢谢。

4

2 回答 2

0

使用Page-Mod将内容脚本注入网页,在小部件中链接的内容脚本仅适用于小部件内容。此外,FF 29 已弃用小部件 API,我建议您改用操作按钮

于 2014-03-26T16:33:16.863 回答
0

$(.plus)是 jQuery 语法,因此您可能希望将 jQuery 作为内容脚本加载到您的小部件中。您还想将代码作为内容脚本运行,例如:

var data = require("sdk/self").data;

new Widget({
    id: "user-widget-1",
    label: "My Mozilla Widget",
    contentURL: "http://example.com/foo.html",
    contentScriptFile: [data.url("jquery.js"), data.url("myScript.js")]
});

data/myScript.js会是这样的:

$(document).ready(function() {
  $('.plus').click()
});

如果您不希望在文档加载时发生单击,而是在扩展中发生特定事件时发生单击,您可能需要考虑与内容脚本进行通信。我还建议阅读内容脚本的一般概述

于 2013-05-10T09:04:51.027 回答