标签: firefox-addon-sdk

如何过滤掉附加SDK扩展中的iframe?

主要问题是我的扩展程序正在加载到目标网页上的每个iframe中.它还会将按钮显示在iframe中.我希望他们消失.窗口和文档对象显示为父窗口和文档对象.因此,例如因为它显示父级的位置而不是iframe的位置,所以无法检查文档位置.

javascript firefox-addon firefox-addon-sdk

7
推荐指数
1
解决办法
1296
查看次数

45000 ms后无法在端口7055上连接到主机127.0.0.1.用FF版26.0和selenium独立罐2.39

我正在尝试连接到我的AWS unix机器上安装了FF版本26.0的selenium 2.30,但当我启动访问selenium的客户端时,我收到以下错误.

此外,当我尝试与selenium独立jar 2.38.0相同时,它工作正常,但在一两天的一段时间后突然发生,它开始给出2.38.0以下的错误.不知道为什么会这样?任何的想法??

项目是我有一个多线程应用程序,其中客户端持续执行一些线程,ping一些URL和所有,它继续发生,除非发生如下的一些问题.

Caused by: org.openqa.selenium.remote.ErrorHandler$UnknownServerException: Unable to connect to host 127.0.0.1     on port 7055 after 45000 ms. Firefox console output:
Error: no display specified
Error: no display specified

Build info: version: 'unknown', revision: 'unknown', time: 'unknown'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '3.4.76-65.111.amzn1.x86_64', java.version:  '1.7.0_51'
 Driver info: driver.version: FirefoxDriver
    at      org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:118)
    at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:250)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:110)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:197)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:190)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:108)
Run Code Online (Sandbox Code Playgroud)

java firefox selenium-grid firefox-addon-sdk selenium-webdriver

7
推荐指数
1
解决办法
3万
查看次数

创建一个新的Firefox附加组件:XUL或Jetpack?

如果你要开始开发一个新的Firefox插件的今天,你还会使用XUL/JS或者你会开始使用Jetpack的,新的插件框架?

创建插件将继续在Firefox 4存在,但Jetpack的显然是建立蒸汽和我想象它会成为创造附加在未来的唯一途径的XUL方式.

现在是时候开始寻找切换/迁移到Jetpack了吗?

firefox firefox-addon firefox-addon-sdk

6
推荐指数
1
解决办法
1411
查看次数

从内容脚本onbeforeunload向附加组件发送消息?

我有一个内容脚本,用于计算用户查看页面的时间.为此,我将内容脚本注入每个页面,启动计时器,然后在onbeforeunload触发事件时将消息发送回加载项.

但是,消息似乎永远不会传递给后台脚本.

鉴于我main.js看起来像这样:

var pageMod = require('page-mod'),
    self = require("self");

pageMod.PageMod({
  include: "http://*",
  contentScriptFile: [self.data.url('jquery.min.js'),
                      self.data.url('content.js')],
  onAttach: function(worker) {
    worker.port.on('pageView', function(request) {
      console.log("Request received");
    });
  }
});
Run Code Online (Sandbox Code Playgroud)

我可以main.js使用以下代码发送消息没问题.

self.port.emit('pageView', { visitTime: time });
Run Code Online (Sandbox Code Playgroud)

当我尝试按用户离开页面时遇到问题.当我这样做时,从未收到该消息:

$(window).bind('onbeforeunload', function(e) {
  self.port.emit('pageView', { visitTime: time });
  // This should prevent the user from seeing a dialog.
  return undefined;
});
Run Code Online (Sandbox Code Playgroud)

我也试过听beforeunload,但这也行不通.可能是什么问题呢?

javascript firefox firefox-addon dom-events firefox-addon-sdk

6
推荐指数
1
解决办法
821
查看次数

将Chrome扩展程序移植到Firefox:相当于chrome.storage

我正在尝试将Chrome扩展程序移植到Firefox,我想知道什么是相同的,chrome.storage.local.set并且chrome.storage.local.get在Firefox中添加sdk.我想,是的simple-storage.

这是我的代码:

chrome.storage.local.set({'tokenFU': token});

[...]

chrome.storage.local.get('tokenFU',function(result){
                    token=result.tokenFU;
                    if(token && token != 'undefined'){
                        hideLog();
                    }
                    else 
                    showLog();
});
Run Code Online (Sandbox Code Playgroud)

提前致谢 !

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

6
推荐指数
1
解决办法
1123
查看次数

我的firefox插件中的警报窗口

我对firefox插件开发很新鲜,所以请原谅我,如果它太愚蠢了.我只是在堆栈中找不到答案.

我尝试从我的插件启动警报窗口:

alert('This is an alert');
Run Code Online (Sandbox Code Playgroud)

但是,它不会识别"警报".我应该包含哪些组件(要求)?

谢谢!

firefox firefox-addon-sdk

6
推荐指数
2
解决办法
3305
查看次数

FireFox Addon:如何覆盖原生js函数

我试图使用pageMod在页面加载上运行脚本:但我看不到它的效果

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

pageMod.PageMod({
  include: "*",
   contentScriptWhen: "start",
  allow:true,
   attachTo: ["existing", "top"],
  contentScriptFile: [data.url("jquery-2.1.1.min.js"),
                     data.url("somejs.js")],


})
Run Code Online (Sandbox Code Playgroud)

在我的somejs.js文件中,我有覆盖表单提交功能:

document.forms['frmMain'].submit=function submit(){alert("Submitting")... 
...do some stuff  

};
Run Code Online (Sandbox Code Playgroud)

在我的网页上有一个提交表单的按钮:

    frmMain.method="post"
    frmMain.action = "someurl";
    frmMain.submit();   
Run Code Online (Sandbox Code Playgroud)

但是当我点击按钮时,它不会调用我在上面定义的覆盖方法.当我使用firebug控制台覆盖该功能时它的工作原理!那么firebug做什么来运行命令,以便我可以在我的插件代码中执行相同的操作.

javascript firefox firefox-addon firefox-addon-sdk

6
推荐指数
1
解决办法
1138
查看次数

Firefox附加组件:将内容脚本注入iframe,src为"about:blank"

我们正在开发一个加载项,并希望将内容脚本注入首页和所有框架.但是我们发现内容脚本不能用src注入iframe作为"about:blank""javascript:...".

有什么意见/建议吗?

示例page-mod:

require("sdk/page-mod").PageMod({
            include:["*", "file://*"],
            contentScriptFile: [
                "./content/content.js",
            ],
            attachTo: ["existing","top", "frame"],...
Run Code Online (Sandbox Code Playgroud)

firefox firefox-addon firefox-addon-sdk

6
推荐指数
1
解决办法
796
查看次数

Firefox禁用我正在开发的添加

我正在使用它最新的jpm SDK开发一个Firefox附加组件.

完成主要代码后,我使用jpm run命令来运行扩展.

但是插件被禁用了.它说"无法验证ADDON NAME是否在FIREFOX VERSION中使用并且已被禁用."

就像在图片中一样. 在此输入图像描述 有谁知道如何关闭这个Firefox功能?

javascript firefox firefox-addon-sdk jpm

6
推荐指数
2
解决办法
603
查看次数

firefox插件更改响应代码

我有一个扩展,检查http-on-examine-response侦听器中的响应.在听众可以通过改变头的HTTPChannel,并通过nsITraceableChannel我们可以改变响应内容.

但是如何在http-on-examine-response监听器中更改响应代码(例如从407到200)?

一些代码:

const { Ci, Cu, Cc, Cr } = require('chrome');

Cu.import('resource://gre/modules/Services.jsm');

var observer = {
  observe: function(aSubject, aTopic, aData) {
    if (aTopic == 'http-on-examine-response') {
        console.log('we are in observer http-on-examine-response');
        var httpChannel = aSubject.QueryInterface(Ci.nsIHttpChannel);
        if(httpChannel.responseStatus == 407){
            httpChannel.responseStatus = 200; // <-- this is not working
        }
    }

  }
};

Services.obs.addObserver(observer, 'http-on-examine-response', false);


exports.onUnload = function (aData, aReason) {
  Services.obs.removeObserver(observer, 'http-on-examine-response');
};
Run Code Online (Sandbox Code Playgroud)

firefox firefox-addon firefox-addon-sdk

6
推荐指数
0
解决办法
404
查看次数