问题标签 [firefox-addon-sdk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
299 浏览

firefox - 添加FF App菜单项(不重启)

我正在尝试创建一个无需重启的 Firefox 插件,并且在 Firefox 应用程序菜单中有一个菜单条目(最好在选项子菜单中)。我在任何地方都找不到关于如何在不重启的情况下向应用程序菜单添加条目的任何信息!我正在使用 Mozilla Addon Builder 构建它。任何和所有的帮助将不胜感激!

0 投票
1 回答
911 浏览

javascript - 迭代窗口对象的属性时出现异常“组件不可用”

我正在尝试使用 Addon SDK (Jetpack) 将 Google Chrome 扩展程序转换为 Firefox。以下代码(作为内容脚本运行)

在 Firefox 5.0 和 6.0 中运行时抛出此异常:

有谁知道如何捕捉这个异常或如何避免“有问题的”属性并继续循环?

请注意,我不能只在循环体中放置一个 try-catch 语句,因为即使这样也会触发错误:

但是,如果我在 Firefox 的“Web 控制台”中执行相同或类似的语句,那么它运行良好:

0 投票
1 回答
614 浏览

firefox-addon - FF 扩展 - 获取 xmlhttp.status==0

我正在为 Firefox 编写扩展,它使用page-mod模块来运行包含以下内容的 JavaScript 文件:

我不断得到xmlhttp.status==0而不是200,即使localhost我使用 IP 地址而不是。有任何想法吗?

0 投票
1 回答
844 浏览

firefox-addon - 通过附加 SDK 扩展在浏览器菜单栏中创建菜单

我正在使用附加 SDK 1.0 构建一个简单的 Firefox 扩展。

搜索文档和谷歌搜索很多,我找不到在浏览器的工具菜单下创建简单菜单的方法。附加 SDK 有一个context-menu模块,它(显然)只处理页面上下文菜单,这不是我想要的。是不是 Add-on SDK 还没有这个模块?如果是这样,我相信我可以在附加 SDK 扩展中访问所有 firefox 的 XPCOM API,但我无法弄清楚如何使用它并在工具菜单下创建一个简单的菜单条目。

关于我如何做到这一点的任何指示?

(顺便说一句,不确定这个问题的标签,如果你觉得这样,请更正)

0 投票
1 回答
327 浏览

unit-testing - firefox addon-sdk 单元测试

有人使用过 addon-sdk(cfx 测试)中的单元测试吗?

我做了一个看起来像这样的测试:

基本上这应该打开一个标签,等待 600 秒,然后他们将其标记为通过。

实际上从加载的页面(加载页面使用的jquery和google分析的东西)的控制台中显示了很多错误和警告,然后它将测试标记为失败。

知道为什么吗?

0 投票
3 回答
1301 浏览

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

主要问题是我的扩展程序正在加载到目标网页上的每个 iframe 中。它还放置了出现在 iframe 内的按钮。我希望他们消失。窗口和文档对象显示为父窗口和文档对象。因此,不可能检查文档位置,例如,因为它显示的是父级的位置而不是 iframe 的位置。

0 投票
1 回答
536 浏览

javascript - Using third-party JS libraries in Mozilla Add-On SDK

I'm starting a new project (Firefox add-on) and I'd like to try using behavior-driven development. I particularly like the Jasmine BDD library. However, I can't find a good way how to use a framework such as Jasmine in the Add-On SDK.

One problem is that Jasmine needs setTimeout (and similar) functions to be specified on the global object, whereas Add-On SDK exports those using "timers" module. But let's say I tweak Jasmine to get those object from "timers" (or add the the methods exported by timers to the global object).

The bigger problem is that I don't know how to actually run the tests. There is a test directory generated by the SDK, however, there's no window or document object there to allow me to see the output (and I'd really like to see the fancy HTML output). I guess I could create a content script that would modify the page, but then I can't access (test) the background script.

Have you ever faced this before? Is there any recommended way how to deal with that?

Thanks! Tomas

0 投票
2 回答
1723 浏览

javascript - 如何访问 HTML 中的数据目录

在 Mozilla Addon-SDK 的“Simple Addon”教程中,它写道:

/data- 包含图标或 HTML 文件等资源,以及附加组件中包含的任何内容脚本。您可以使用插件 SDK 的 self 模块从插件代码中访问数据子目录的内容。

在我的附加组件中,我使用 HTML 页面来显示panel. 由于内容是由内容脚本加载的,我想spinner.gif在 HTML 页面上显示一个 -file 以向用户显示内容正在加载。内容完全加载后,我隐藏 spinner-image 并显示内容(使用 jQuery)。

我现在的问题是,我不知道如何在 HTML 页面中嵌入图像。我面临的问题是我不知道图像文件的路径。

我知道您self在 AddOn-Script 中使用 -module 来访问/data-directory,但是文档中没有提到如何从纯 HTML 文件或 Content-Script 执行此操作。

所以这就是我的 HTML 文件中的内容(不需要<head>-tag):

这个 HTML 页面和图像 ( spinner.gif) 都位于/data-directory 的根目录中,但上面的代码只显示了 alt-text。我也尝试使用/data/spinner.gif作为来源,没有运气。

那么,如何从/data-directory 加载图像?

0 投票
1 回答
156 浏览

xml - 有没有办法修改 XML 页面,比如对 HTML 页面执行“page-mod”?

我正在开发一个 Firefox 扩展。HTML 页面生成 XMLHttpRequest ,解析响应并将其显示在页面上。我想阻止此 XML 响应并编辑其内容以影响显示。

根据 Firefox Add-on SDK 文档,page-mod 模块使插件开发人员能够在特定网页的上下文中执行脚本。最明显的是,您可以使用 page-mod 来动态修改某些页面的内容。像这样:

但是,它似乎不适用于 XML 页面和任何其他非 HTML 内容(例如 .jpg)。有解决办法吗?任何帮助将不胜感激。

PS HTML页面是基于flash的,因此我不能简单地用“page-mod”修改它。

0 投票
1 回答
151 浏览

unit-testing - 从单元测试调用插件功能

我已经使用 addon-sdk 制作了一个 firefox 插件,现在我正在尝试为它编写单元测试。

如何从测试中访问插件功能?据我所知,它们是分开的,我不能简单地访问我的插件的插件函数和变量。