问题标签 [firefox-addon-restartless]

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 投票
3 回答
374 浏览

javascript - 用于无重启 Firefox 扩展的简单存储 API 等价物

是否有与此 API等效的方法或从无需重启的扩展程序中调用它的方法?我需要在浏览器会话之间存储一些字符串。

我发现了这一点,但对于简单的字符串存储来说似乎太复杂了。SS API 在幕后使用相同的东西吗?

0 投票
2 回答
112 浏览

javascript - Firefox插件如何处理页面滚动

我需要在 fennec 插件中处理页面滚动我做了接下来的事情:

而且我没有收到滚动事件。有人有任何想法或一些工作代码吗?

0 投票
1 回答
258 浏览

firefox-addon - Firefox 扩展:性能:覆盖与引导

我了解安装引导扩展的便利性,但有一个问题困扰了我很长时间。

覆盖和引导扩展之间是否有过性能和资源/内存使用比较?

在覆盖扩展中,很多工作,即 XUL 覆盖等都是由应用程序(即 Firefox)本地处理的。在自举扩展中,所有上述工作都留给扩展开发人员,这通常涉及手动添加许多事件侦听器和观察者来实现相同的目的(这可能不像应用程序核心那样原生)。

我注意到在某些窗口上有时无法启动的令人吃惊的插件。我还注意到有时令人吃惊的插件,插入本身很明显(即功能、图像、图标在加载窗口后稍微出现)。此外,使用的均匀监听器的类型并不统一,变化很大。

我有一种烦人的感觉,手动(而不是本地)添加菜单、上下文菜单、功能、字符串包、首选项、本地化等和枚举窗口会使用更多资源(除了它的效率将在很大程度上取决于开发人员的技能这一事实) .

我期待你的评论 :)

0 投票
1 回答
529 浏览

javascript - Firefox 引导扩展:命名空间

我正在研究引导扩展。查看其中一些扩展的代码,我看到了很多变量、常量和函数声明。

它们都在窗口对象中声明吗?命名空间污染/冲突没有问题吗?

我将每一件事都包装在我所做的覆盖扩展中的一个对象/命名空间中。自举扩展在这方面有什么不同吗?

我注意到所有这些都bootstrapped.js使用相同/标准的函数名称。这是否意味着引导扩展是沙盒或封闭的?

0 投票
1 回答
143 浏览

javascript - Firefox Restartless Addon:AddonManager 提供的插件有哪些信息?

某些信息被传递给无需重启的附加组件

以上是唯一可用的数据吗?是否可以在不访问AddonManager的情况下获取插件名称

我使用AddonManager.jsm的经验证明它体积庞大且速度缓慢。 [1]

如果上面是唯一可用的数据,那么在无重启插件(使用 XHR 访问)中获取 install.rdf 的 nsIURI的最佳方法是什么?

在覆盖插件中,我添加了一个resource指向install.rdf的链接。但是,resource在无重启插件中不可用,并且不希望设置以下内容

[1]更新:澄清/更正:
定时 XHR 提取不包括 XML 解析和数据提取。因此整个操作(XHR、回调、responseXML、抓取数据)会花费更长的时间。

0 投票
1 回答
452 浏览

javascript - Firefox Restartless Addon:启用/禁用时记录的错误

我一直在测试,当启用或禁用 Bootstrapped/Restartless 插件时,会记录许多与其他插件相关的错误。

在启用无重启插件时:

我尝试了不同的 Restartless 插件,并且在启用/禁用时都记录了类似的错误(来自其他来源)。这些错误似乎不会影响 Firefox 或插件的运行。

这些是什么?

0 投票
1 回答
219 浏览

javascript - Components.utils.import() 中是否可以使用相对 URL/路径?

相对 URL/路径在覆盖 XUL 中有效,而不是使用完整的chrome://............

我尝试将它与Components.utils.import(). 是否可以?

还注意到:错误 628669 - 在组件工具导入(JSM、JS 模块)中提供对相对 URL 的支持

0 投票
1 回答
110 浏览

javascript - 禁用插件时,引导插件中的 removeEventListener 不起作用

我注意到在禁用引导加载项后,removeEventListener似乎没有删除侦听器,我无法找出原因。

然后禁用插件

最后 ...

0 投票
1 回答
62 浏览

javascript - 在引导程序的卸载功能中,重新导入?

uninstall我的引导插件中,我做了一些重要的事情。我删除了它创建的所有文件和所有首选项。但是,这使用了一些服务。

这是我的一个uninstall程序的示例:

我发布而不是测试的原因是因为我测试并且它有效,但是有什么特殊情况吗?就像插件被禁用,浏览器重新启动,然后用户打开插件管理器然后卸载一样。像这样的特殊情况和其他任何情况?他们是否要求我再次进口我所有的东西?

0 投票
4 回答
6220 浏览

javascript - 在不使用绑定的情况下将“this”和参数传递给 addEventListener 函数

在插件禁用时引导插件中的 removeEventListener 不起作用之后,我正在探索其他可能性。

除了使用bind()和缓存绑定函数之外,有没有办法使用“this”并传递参数?

我一直在使用许多事件侦听器,bind()并且正在寻找不使用的替代方法bind()

我什至尝试window使用递归函数从<menupopup id="contentAreaContextMenu" ...>

更新: bind()干扰removeEventListener