标签: firefox-addon-sdk

显示多行通知

我刚开始玩Mozilla Jetpack,到目前为止我喜欢它.我写了一个小代码,在状态栏中显示一个图标,点击后会显示一个通知:

var myTitle = 'Hello World!';
var line1 = 'I am the very model of a modern Major-General,';
var line2 = 'I\'ve information vegetable, animal, and mineral,';
var line3 = 'I know the kings of England, and I quote the fights historical,';
var line4 = 'From Marathon to Waterloo, in order categorical.';
var myBody = line1 + ' ' + line2 + ' ' + line3 + ' ' + line4;
var myIcon = 'http://www.stackoverflow.com/favicon.ico';

jetpack.statusBar.append({
  html: …
Run Code Online (Sandbox Code Playgroud)

javascript jquery firefox-addon firefox-addon-sdk

10
推荐指数
1
解决办法
3395
查看次数

使用Add-on SDK添加工具栏按钮?为Firefox附加组件集成XUL和附加SDK?

我已经使用Add-on SDK API编写了大部分Firefox插件.我现在发现Add-on SDK可能不够强大,不适合我的目的.我需要两件事:

  1. 位置栏旁边工具栏中的下拉按钮.
  2. 在firefox中修改加载项管理器

这确实令人失望,但我不相信Add-on SDK可以实现这些功能.

首先,我了解widgetAdd-on SDK API中有一个模块.但这只允许我在笨拙的附加栏上添加一个简单的图标或标签.如果我需要为Firebug或Greasemonkey的位置栏旁边添加一个更好的按钮怎么办?至于在firefox中修改附加组件管理器,我已经尝试使用附加SDK的Nickolay Ponomarev的XUL而没有任何成功.如果有人知道如何使这个工作,并指出我的方向是非常有用的(cfx init --template xul当我尝试时,常规SDK没有做任何事情)

firefox xul firefox-addon firefox-addon-sdk

10
推荐指数
1
解决办法
3060
查看次数

从Firefox扩展程序登录到控制台?

我知道在使用带有cfx run命令的Firefox扩展时我可以登录到控制台.

有没有办法在扩展包装后登录到控制台cfx xpi?如果可能的话,记录到Firebug是好的.

我找到了两篇关于此的博文(这里这里).两者都相当陈旧,不再工作了.

我正在使用附加SDK和FF15的1.10版本.

firefox firebug logging firefox-addon firefox-addon-sdk

10
推荐指数
3
解决办法
7031
查看次数

Firefox插件:扩展图标未显示

我正在使用Add-on SDK.开发一个Firefox附加组件.我的扩展程序在使用SDK时工作正常,但是当我创建.xpi文件以手动将其添加到浏览器时,它不会显示扩展图标.

我试图更改package.json文件中的图标路径,但它仍然没有显示图标.

package.json文件:

{...
  "icon"        : "Phone-icon48.png",
  "icon64"      : "Phone-icon64.png",
...}
Run Code Online (Sandbox Code Playgroud)

窗口小部件面板用于显示图标:

WidgetPackage.Widget({
  label: "Phone Dial",
  id: "phone_dial",
  contentURL: data.url("images/Phone-icon19.png"),
  panel: panel_name
});
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我解决这个问题吗?

谢谢.

firefox firefox-addon firefox-addon-sdk

10
推荐指数
1
解决办法
6804
查看次数

Firefox扩展中的XMLHttpRequest

我正在编写FireFox-Extension并希望从服务器加载数据.但是,当我尝试使用以下命令初始化XMLHttpRequest时:

var request = new XMLHttpRequest();
Run Code Online (Sandbox Code Playgroud)

错误控制台说:

ReferenceError: XMLHttpRequest is not defined
Run Code Online (Sandbox Code Playgroud)

我是否必须包含某些内容或为什么无法识别XMLTttpRequest?

javascript ajax firefox-addon firefox-addon-sdk

9
推荐指数
1
解决办法
6701
查看次数

如何使用Add-on SDK解析Firefox插件中的XML字符串

我正在尝试创建一个FF AddOn,它可以从网站上获取一些XML数据.但我找不到解析我的回应的方法.首先我使用DOMParser但是我收到此错误:

ReferenceError:未定义DOMParser.

有人建议使用XMLHttpRequest,因为解析是自动完成的,但后来我得到了另一个错误:

错误:发生异常.回溯(最近一次调用最后一次):
文件"resource://jid0-a23vmnhgidl8wlymvolsst4ca98-at-jetpack/api-utils/lib/cuddlefish.js",第208行,在require let模块中,manifest = this.manifest [base], requirer = this.modules [base]; TypeError:this.manifest未定义

我真的不知道还能做什么.我必须注意,我正在使用AddOn Builder来实现这一目标.

下面的代码似乎不起作用.

选项1:

exports.main = function() {

require("widget").Widget({
    id: "widgetID1",
    label: "My Mozilla Widget",
    contentURL: "http://www.mozilla.org/favicon.ico",
    onClick: function(event) {

    var Request = require("request").Request;
    var goblecontent = Request({
      url: "http://www.myexperiment.org/search.xml?query=goble",
      onComplete: function (response) {
        var parser = new DOMParser(); 
        var xml = parser.parseFromString(response.text, "application/xml");  

        var packs = xml.getElementsByTagName("packs");
        console.log(packs);
      }
    });

    goblecontent.get();

    }
});

};
Run Code Online (Sandbox Code Playgroud)

选项2:

exports.main = function() {
    require("widget").Widget({
        id: "widgetID1",
        label: "My …
Run Code Online (Sandbox Code Playgroud)

firefox-addon domparser firefox-addon-sdk

9
推荐指数
1
解决办法
2838
查看次数

Firefox addon-sdk - 监听页面导航

我正在尝试使用addon-sdk将Chrome插件移植到Firefox,但我无法找到等效的方法来收听标签导航事件.

我需要做的是保持每页数据(从DOM检测到),并在用户导航到选项卡中的新页面时立即删除(但是,在刷新时保持数据)

我Chrome,当标签更改网址时执行某些操作,我可以使用:

chrome.tabs.onUpdated.addListener(function(tab_id, changeInfo, tab) {
    if(changeInfo.status == 'loading' && changeInfo.url) {
        //DO STUFF AS THE URL CHANGED
    }
});
Run Code Online (Sandbox Code Playgroud)

在使用addon-sdk的Firefox中我试过使用:

tabs.on('open', function(tab){
  tab.on('ready', function(tab){
    if(tab.cachedURL != tab.url) {
      //DO STUFF AND SET CACHE
    }
  });
});
Run Code Online (Sandbox Code Playgroud)

问题是我无法挂钩初始导航事件,因此在用户开始导航和准备好新页面的DOM之间,旧数据可用.

基本上我需要一种方法来勾选选项卡的初始导航,理想情况下看看它的位置(就像我在Chrome中一样).

有什么想法吗?

javascript firefox-addon firefox-addon-sdk

9
推荐指数
1
解决办法
2642
查看次数

用于Firefox附加组件开发的IDE

我一直在使用firefox附加组件很长一段时间,并且使用notpad ++进行开发是一个非常令人头痛的问题.是否有任何合适的IDE或插件可供eclipse使用.就像我们一样**运行在服务器上"用于动态网络项目,有没有办法,我在任何一个文件中做了更改,它会自动创建.xpi文件并安装在Firefox中?

xul eclipse-plugin firefox-addon firefox-addon-sdk

9
推荐指数
1
解决办法
6068
查看次数

PageM将worker多次附加到同一URL

发现清洁溶液

我找到了一个非常干净的解决方案,它真的让整个问题变得毫无意义,我确信当我提出这个问题时它就存在了......我也很无知也在寻找它.

attachTo: 'top'PageMod构造函数中使用只将脚本附加到顶级文档而不是任何文档iframes.

因此,如果您发现PageMod附加内容多次附加,则可能是因为它iframes与顶级选项卡文档一起附加.添加attachTo: 'top'为传递给PageMod构造函数的对象的属性,您不必担心iframes.

对于下面的问题,解决方案将是

var _workers = [];

var pageMod = require("sdk/page-mod").PageMod({
    include: /https?:\/\/www\.websitename\.net.*/,
    contentScript: "self.port.on('hello', function() { " +
                   "console.log('['+document.location.href+']: " +
                   "My worker said hello to me!');",
    contentScriptWhen: "end",
    attachTo: 'top',   //<-- add this property to only attach to top level document
    onAttach: function(worker) {
        _workers.push(worker);
        worker.on("detach", function() {
            var ind = _workers.indexOf(this);
            if(ind !== -1) {
                _workers.splice(ind, 1);
            } …
Run Code Online (Sandbox Code Playgroud)

javascript firefox firefox-addon firefox-addon-sdk

9
推荐指数
1
解决办法
1156
查看次数

如何在firefox android上安装我的.xpi

我使用JPM在firefox插件上工作.

我想在我的Android手机上安装它,我运行"jpm xpi"并在我的SD卡上复制xpi.当我浏览到文件:// path/to/my/xpi在android firefox中没有任何事情发生.如果我在我的服务器上上传xpi并浏览到url,则会出现同样的问题.

我已经测试了google play firefox最新版本和nighty.

我的错在哪里?

android xpi firefox-addon firefox-addon-sdk jpm

9
推荐指数
1
解决办法
9435
查看次数