标签: firefox-addon-sdk

如何检测何时显示Add-on SDK面板?

文件说:

节目

显示面板时会发出此事件.

所以main.js我做了这个(在哪里thePanel使用require("panel").Panel方法):

thePanel.port.on("show", function(d) {
    console.log('The panel has just been shown');
});
Run Code Online (Sandbox Code Playgroud)

但事件似乎没有被称为.我也尝试在内容脚本中执行一个函数,window.onfocus但似乎也没有调用.

javascript firefox-addon firefox-addon-sdk

5
推荐指数
1
解决办法
228
查看次数

在Firefox扩展中按域/名访问特定cookie

我正在开发Firefox扩展,需要从特定域访问特定的cookie.我有这个代码来获取所有域的所有cookie,我如何只请求我正在寻找的cookie.

var {Cc, Ci} = require("chrome");

var cookieManager = Cc["@mozilla.org/cookiemanager;1"].getService(Ci.nsICookieManager);

var count = cookieManager.enumerator;

while (count.hasMoreElements()){
    var cookie = count.getNext();
    if (cookie instanceof Ci.nsICookie){
        console.log(cookie.host);
        console.log(cookie.name);
        console.log(cookie.value);
    }
}
Run Code Online (Sandbox Code Playgroud)

总而言之,我能够使用上面的代码找到我正在寻找的cookie,但我不想迭代所有域中的所有cookie.

javascript cookies firefox-addon firefox-addon-sdk

5
推荐指数
1
解决办法
3640
查看次数

在Mozilla Add On SDK中打开一个选项卡

我正在开发一个Mozilla Add on.我正在尝试打开一个标签.

根据https://addons.mozilla.org/en-US/developers/docs/sdk/1.0/packages/addon-kit/docs/tabs.html, 它使用完成

console.log("before tab");
var tabs = require("tabs");
tabs.open("http://www.example.com");
Run Code Online (Sandbox Code Playgroud)

但这不符合我的情况.

我在内容脚本中这样做.我有一个名为popup.html的页面和一个名为popup_script.js的内容.

到达代码是因为记录了消息.

任何的想法?

javascript firefox-addon firefox-addon-sdk

5
推荐指数
1
解决办法
615
查看次数

在调试SDK附加组件时如何在不重新运行cfx和Firefox的情况下修改源代码?

我正在使用附加SDK开发Firefox附加组件.到目前为止,我必须关闭调试过程并在修改源代码后执行"cfx run".

所以我想知道如何在不重新运行Firefox的情况下编辑源代码,比如在Chrome中调试JavaScript.在使用inject脚本刷新页面后,有没有办法调试修改过的代码?

firefox-addon firefox-addon-sdk

5
推荐指数
1
解决办法
1132
查看次数

是否可以在面板本身中应用panel.resize

似乎Firefox Add-on SDK扩展中的Panels没有自动大小选项,但panel.resize存在.是否可以在当前面板上调用它?

firefox-addon firefox-addon-sdk

5
推荐指数
1
解决办法
1716
查看次数

Firefox Addon SDK中的page-mod和上下文菜单之间的通信

通过context-menu模块,我检测用户点击了哪个DOM元素我的自定义上下文菜单项"Mark":

var menu = require("context-menu").Item({
  label: "Mark",
  contentScriptFile: data.url("context.js"),
  onMessage: function (node) {
    //Send the node to page-mod
  }
});
Run Code Online (Sandbox Code Playgroud)

context.js:

self.on("click", function (node, data) {
    self.postMessage(node);
});
Run Code Online (Sandbox Code Playgroud)

现在我想将此节点引用发送到一个page-mod模块,其中注入了pagemod的contentScript的每个页面都知道我点击的节点(并在每个选项卡中标记带有红色边框的HTML元素).

我知道postMessage()无法将消息发送到pagemod ,所以如何让这些模块进行通信?有优雅的worker解决方案吗?

firefox contextmenu postmessage add-on firefox-addon-sdk

5
推荐指数
1
解决办法
346
查看次数

Firefox Addon Downloads.jsm

我正在尝试在jetpack插件中使用Firefox 的Downloads.jsm lib(它是Firefox 23中的新功能).

var {Cu} = require("chrome"); //works fine
const {Downloads} = Cu.import("resource://gre/modules/Downloads.jsm"); //works fine
Run Code Online (Sandbox Code Playgroud)

但是执行这些功能中的任何一个都没有效果:

download = Downloads.createDownload({source: "http://cdn.sstatic.net", target: "/tmp/kaki.html"}); //download is an object but has no function "start"
Downloads.simpleDownload("http://cdn.sstatic.net","/tmp/kaki.html");
Run Code Online (Sandbox Code Playgroud)

文档:https : //developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules/Downloads.jsm https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules/Downloads.jsm/Download

你有什么想法,如何使用这些功能?我没有在网上找到任何例子

firefox download firefox-addon download-manager firefox-addon-sdk

5
推荐指数
1
解决办法
1407
查看次数

如何访问"打开/保存"对话框以捕获下载链接?

我注意到:如果Mozilla Firefox用户单击下载链接(EX:this),将弹出以下"打开/保存"对话框窗口:

打开/保存对话框

rd有用Python编写的下载管理器,所以我需要:

  1. 从Firefox获取下载链接.

  2. 发送给我的下载管理器.

我想通过以下任何方法实现这一目标:

  • 在该对话框中添加复选框,使用户可以在此链接中使用我的下载管理器(如DTA和flashgot添加复选框).
  • 听取那个事件(弹出保存对话框),
  • 将我的名为rd的下载管理器添加为除了以外的任何文件类型的默认应用程序,html但我们应该让用户能够add to/remove from将该文件类型发送到我的应用程序.

firefox xul preference firefox-addon-sdk

5
推荐指数
1
解决办法
592
查看次数

Mozilla附加开发:Chrome页面动作相当于?

我已经用Google搜索了一些答案,但到目前为止我找到的所有内容都已过时了.是否有类似于Mozilla Firefox Addon的Google Chrome Page Action?

或者有没有一种很好的方法来禁用/灰显Firefox中的浏览器操作图标,让用户知道他们不能使用扩展名,除非访问适当的URL?

谢谢.

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

5
推荐指数
1
解决办法
353
查看次数

如果选项卡在某个域中打开,如何使插件/扩展添加图标/按钮到Firefox地址栏?

如果选项卡位于某个域中,我需要让Firefox插件向地址栏添加一个按钮.

我已经设法找到当前窗口的元素navbar-icons并添加一个子项,但是将该图标添加到该窗口的所有选项卡,而不仅仅是相关的选项卡.我怎样才能做到这一点?

编辑:对不起,我在手机上,并没有包含代码.

到目前为止我有什么:

var windowsUtils = require('sdk/window/utils');

var loadButton = function(doc, urlBtnClick) {
    var urlBarIcons = doc.getElementById('urlbar-icons');

    var btn = doc.createElement('toolbarbutton');
    btn.setAttribute('id', 'button-icon');
    btn.setAttribute('image', self.data.url('./images/icon16.png'));
    btn.click(onButtonClick);
    urlBarIcons.appendChild(btn);
    return btn;
}

var onButtonClick = function(event) {
    console.log('i was clicked');
}
Run Code Online (Sandbox Code Playgroud)

每当我打电话给上面的时候,我都会在每个标签上添加一个图标/按钮,而不是当前活动标签.

firefox firefox-addon firefox-addon-sdk

5
推荐指数
1
解决办法
359
查看次数