问题标签 [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 投票
2 回答
457 浏览

firefox - 如何快速编写一个firefox扩展?

我要做一个firefox扩展,它将注入一些js代码以及整个jQuery lib。当用户按下放置在浏览器某处的按钮时,我希望它发生(注入)。我已经阅读了 MDC 文档和其他关于制作扩展的教程,它们对我来说似乎很复杂。XPCOM或XUL之类的技术对我来说完全没用(实际上我没有时间学习它们)。我的问题是,这是解决我的问题的另一种方法,然后是遵循 MDC 吗?我需要找到更快的方法来完成我的任务。我已经为 Google Chrome 编写了扩展程序,这比为 Firefox 编写更简单。

0 投票
1 回答
1272 浏览

javascript - Firefox JavaScript chrome 代码中的弱引用

假设我正在A 我的基于 Jetpack 的库中编写一个类(即我们正在谈论 chrome/extension 代码)

用户创建一个类的实例A

现在假设我想跟踪A创建的所有实例,我可以这样做:

并添加listA.push(this);的构造函数A,最终得到:

一切都很好,直到用户a放弃其参考(例如a超出范围)。我现在有一个问题:listA仍然包含对它的引用,a因此它永远不会被垃圾收集。此外,我无法过滤掉原本无法访问的listA实例。A我正在有效地泄漏内存。

我需要的是推送到listA弱引用而不是常规引用。我认为有可能以某种方式做到这一点,但我真的不知道从这里去哪里。我可以设想这样的事情:

但是我不知道,例如,如何测试弱引用是否仍然有效。或者如何有效地过滤掉listA. 有什么建议么?

0 投票
1 回答
336 浏览

firefox-addon-sdk - Jetpack 是否仍可与 Thunderbird 一起使用?如果是这样,一个简单的例子在哪里?

据我所知,Jetpack的早期版本支持为 FirefoxThunderbird 开发插件,但目前的网站只提到 Firefox 4。

他们是否放弃了对 Thunderbird 的支持?

如果没有,有人可以指点我一个 hello world 风格的例子吗?谷歌没有帮助。:/

0 投票
1 回答
270 浏览

firefox-addon - 如何在 Jetpack 中的插件进程和面板页面之间进行通信

将变量发送到面板的最佳方式是什么?人们使用 mustache.js 吗?现在我可以加载一个 HTML 文件,但是一旦我调用 panel.show() 就无法与之通信

0 投票
1 回答
859 浏览

javascript - 如何将 ContentScript 数据传递给 JavaScript 中的模块全局变量?

我一直在做一个 Firefox 扩展项目,现在我被困在这个问题上,

其中 abc 是全局变量,newabc 是 contentScript 中的变量。

如何制作 abc = newabc ?

谢谢!!

0 投票
2 回答
859 浏览

javascript - Javascript 框架 (RightJS) 作为页面模块中的内容脚本

我是jetpack世界的新手(以及firefox扩展),在对jetpack的可能性进行一些研究时,我发现了一些奇怪的东西。我做了一个简单的测试项目,在 pagemod 中包含了一个 javascript 框架(RightJS)(本教程使用了 jQuery,这似乎工作正常),我得到了以下错误:

错误:发生异常。
回溯(最近一次通话最后):文件“/home/nic/Aptgeek/TestProjects”
中的文件“/home/nic/Aptgeek/TestProjects/ff-extension/data/external/libs/right-src.js”,第 5979 行
/ff-extension/data/external/libs/right-src.js",第 990 行,
类型错误:Array.include 不是函数

我的 main.js 脚本相当简单:

看到那个讨论后: http ://groups.google.com/group/mozilla-labs-jetpack/browse_thread/thr ...,我开始怀疑jetpack javascript框架支持。我是否错误地使用了 page-mod?还是应该这样工作?在 page-mod 中使用 javascript 框架作为内容脚本是否有任何限制?

0 投票
1 回答
1420 浏览

firefox-addon - 设置 Mozilla JetPack “系统无法找到指定的注册表项或值”

我收到以下错误...

怎么了?我该如何解决?

0 投票
2 回答
667 浏览

firefox-addon - Mozilla“Jetpack”附加组件:将面板锚定到小部件

我正在制作一个 Jetpack 扩展,其中一个小部件会打开一个面板。单击小部件会按预期打开面板(锚定在小部件的右下角)。但是,如果我从我的代码中调用 widget.panel.show(),面板会打开,与小部件分离,位于屏幕中心,漂浮在空间中。

简而言之,我该如何解决这个问题?

  1. 我可以模拟小部件上的点击事件(以某种方式)而不是调用widget.panel.show()吗?

  2. 我可以强制面板锚定到小部件吗?

这个问题有一个在以前的 Jetpack API 中有效的解决方案,但我无法转换到新界面: Using Positioning 'Panel' in new Jetpack API

0 投票
2 回答
3263 浏览

firefox - Firefox:如何使用附加 SDK (Jetpack) 添加/修改工具栏

因此,我现在已经多次查看 Add-on SDK 的文档,但我在哪里看不到如何创建工具栏或修改现有工具栏。他们有一个关于创建附加栏图标的教程,但这不是我想要的。附加 SDK 是否支持此功能?如果是这样,有人可以将我链接到示例/教程。

0 投票
1 回答
3371 浏览

firefox - 使用 Add-on SDK 开发我的 Firefox 扩展有哪些优点/缺点?

我正在为 Firefox 开发(又一个)密码管理器插件。我的附加组件需要:

  • 向每个密码字段添加两个上下文菜单项。
  • 选择菜单项时打开对话框或浮动面板。
  • 访问特定 XPCOM 组件的特定方法。
  • 填写密码字段。
  • 包括一个首选项窗口。
  • 与 Firefox 4.0 兼容。

优选地,还:

  • 在 Firefox 3.5 和 3.6 上运行。
    • 一些用户不会更新到最新版本。
    • Firefox 4.0 不能在 PowerPC Mac 上运行。
  • 在 Firefox 4.0 上无需重新启动即可安装。
  • 允许本地化。

我已经尝试过 Add-on SDK(以前称为 Jetpack),它使开始开发变得非常容易。但是,我发现 HTML 无法轻松创建“本地外观”对话框,而且 SDK 相当重量级。(构建一个简单的扩展需要很多千字节;其中包括一个 XPCOM 组件!)

使用 Add-on SDK 开发我的 Firefox 扩展有哪些优点和缺点?它准备好进行“严肃的”扩展开发了吗?