标签: firefox-addon-sdk

如何使用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附加组件开发的IDE

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

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

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

如何在内容脚本和插件之间共享代码?

我正在为Firefox 4+编写扩展程序.

我在一个名为的文件中有一些代码utils.js,我想从插件main.jspage-mod内容脚本中调用它.

是否可以从两者引用相同的utils.js?如果是这样,怎么样?

编辑:更好的解决方案是允许我在Google Chrome扩展程序中使用相同的代码.

firefox-addon google-chrome-extension firefox-addon-sdk

8
推荐指数
1
解决办法
1433
查看次数

通过firefox扩展将CSS文件注入网页

我正在写一个Firefox扩展,我正在使用他们的附加SDK; 但我无法弄清楚如何将数据文件夹中的本地CSS文件注入网页.如果有办法通过page_mod包来做这件事会很棒.

css firefox-addon firefox-addon-sdk

8
推荐指数
1
解决办法
2496
查看次数

在Firefox附加SDK中是否有Chrome的'setBadgeText'等价物?

Chrome的方法会chrome.browserAction.setBadgeText在扩展程序图标上叠加文字.如果您想显示总未读邮件,这很方便.

开发Firefox Addon SDK扩展时是否有等效方法,或者在运行时更改图标的最佳方法是什么?

从SDK版本1.11开始,我在Firefox Add-on SDK API中找不到类似的方法.

firefox-addon-sdk

8
推荐指数
3
解决办法
1917
查看次数

Firefox Extension Addon SDK结合了多个"动作按钮"

我想将两个"Action Buttons"组合成一个,就像Firefox目前使用Bookmarks插件一样,注意它被视为"Customize ..."选项中的一个按钮.

以下是navBar上整个按钮的屏幕截图.

这是按钮在navBar上的样子

以下是"Customize"gui中"Bookmarks"按钮的屏幕截图.

以下是自定义面板中的按钮(书签)

我仔细阅读了SDK文档,但没有明确的方法.看来这需要操纵sdk/ui库本身.我感谢任何有助于我解决此问题的信息或见解.谢谢.

单击此处获取操作按钮api参考.

javascript firefox firefox-addon navbar firefox-addon-sdk

8
推荐指数
1
解决办法
533
查看次数

JavaScript` of`关键字(for ... of loops)

我刚刚发现,在Firefox SDK JavaScript(在MDN上),使用了我从未见过的关键字:

var tabs = require('sdk/tabs');
for (let tab of tabs)
  console.log(tab.title);
Run Code Online (Sandbox Code Playgroud)

of关键字由由Mozilla抑或是标准化?

javascript firefox-addon firefox-addon-sdk

8
推荐指数
1
解决办法
3720
查看次数

检测Firefox加载项中的选项卡URL更改

我有一个可在Chrome上运行的扩展程序,用于监控活动标签页以查看网址更改.

具体来说,我需要检测URL何时更改,但没有新页面加载或导航.有些网站会这样做(例如,当您点击在YouTube上观看另一个视频时).

在Chrome上,我完成了以下操作:

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
    if (changeInfo && changeInfo.status == "complete") {
        //do stuff here
    }
});
Run Code Online (Sandbox Code Playgroud)

如何在Firefox插件中检测到此类更改?

我被告知要使用:在所有标签上听取事件,但我无法将它们放在一起.其中一个问题是gBrowser扩展中没有定义.

我究竟做错了什么?

有更简单的方法吗?

firefox firefox-addon firefox-addon-sdk

8
推荐指数
1
解决办法
1732
查看次数

如何使用port.emit与包含带有附加脚本的按钮的简单html页面进行通信

我正在尝试实现我的第一个Firefox插件,所以我是一个完全初学者.

我一直在阅读关于Firefox网页上的[page-mod] [1]文档.我还是不明白怎么做.

基本上在一个基本的html页面我有一个按钮,我想要的是以下内容:

如果我单击该按钮,该按钮将调用Javascript函数runBash()(在html页面内声明),此函数可以与index.js(附加脚本)进行通信.这似乎很简单,但它让我发疯.

[更新代码]

index.js/main.js附加代码:

var { ToggleButton } = require('sdk/ui/button/toggle');
  var panels = require("sdk/panel");
  var self = require("sdk/self");
  var data = require("sdk/self").data;
  var pageMod = require("sdk/page-mod");

  pageMod.PageMod({
    include: data.url("./bash.html"),
    contentScriptFile: data.url("./content-script.js"),
    contentScriptWhen: "ready", // script will fire when the event DOMContentLoaded is fired, so you don't have to listen for this
    attachTo: ["existing", "top"],
    onAttach: function(worker) {
      worker.port.on("bash", function() {
        //var bash = child_process.spawn('/bin/sh', ['/root/tfg/data/test.sh']);
        alert("IT WORKS!");
      });
    }
  });


  var button = ToggleButton({
    id: …
Run Code Online (Sandbox Code Playgroud)

html javascript firefox firefox-addon firefox-addon-sdk

8
推荐指数
1
解决办法
654
查看次数

Firefox插件面板可以确定何时显示和隐藏?

我正在使用ToolAPI将面板添加到Firefox DevTools.
我可以定义setup()dispose()处理初始化和拆卸的方法.

但是,我无法弄清楚如何确定面板当前是否可见,或者何时更改可见性.这个事件是否暴露在某个地方?

要清楚,我只想知道我的小组.所以我想知道我的面板何时可见,或者当用户切换到例如Elements选项卡时.

javascript firefox firefox-addon-sdk

8
推荐指数
1
解决办法
333
查看次数