问题标签 [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.
javascript - Firefox插件如何处理页面滚动
我需要在 fennec 插件中处理页面滚动我做了接下来的事情:
而且我没有收到滚动事件。有人有任何想法或一些工作代码吗?
firefox-addon - Firefox 扩展:性能:覆盖与引导
我了解安装引导扩展的便利性,但有一个问题困扰了我很长时间。
覆盖和引导扩展之间是否有过性能和资源/内存使用比较?
在覆盖扩展中,很多工作,即 XUL 覆盖等都是由应用程序(即 Firefox)本地处理的。在自举扩展中,所有上述工作都留给扩展开发人员,这通常涉及手动添加许多事件侦听器和观察者来实现相同的目的(这可能不像应用程序核心那样原生)。
我注意到在某些窗口上有时无法启动的令人吃惊的插件。我还注意到有时令人吃惊的插件,插入本身很明显(即功能、图像、图标在加载窗口后稍微出现)。此外,使用的均匀监听器的类型并不统一,变化很大。
我有一种烦人的感觉,手动(而不是本地)添加菜单、上下文菜单、功能、字符串包、首选项、本地化等和枚举窗口会使用更多资源(除了它的效率将在很大程度上取决于开发人员的技能这一事实) .
我期待你的评论 :)
javascript - Firefox 引导扩展:命名空间
我正在研究引导扩展。查看其中一些扩展的代码,我看到了很多变量、常量和函数声明。
它们都在窗口对象中声明吗?命名空间污染/冲突没有问题吗?
我将每一件事都包装在我所做的覆盖扩展中的一个对象/命名空间中。自举扩展在这方面有什么不同吗?
我注意到所有这些都bootstrapped.js
使用相同/标准的函数名称。这是否意味着引导扩展是沙盒或封闭的?
javascript - Firefox Restartless Addon:AddonManager 提供的插件有哪些信息?
某些信息被传递给无需重启的附加组件
以上是唯一可用的数据吗?是否可以在不访问AddonManager的情况下获取插件名称?
我使用AddonManager.jsm的经验证明它体积庞大且速度缓慢。 [1]
如果上面是唯一可用的数据,那么在无重启插件(使用 XHR 访问)中获取 install.rdf 的 nsIURI的最佳方法是什么?
在覆盖插件中,我添加了一个resource
指向install.rdf的链接。但是,resource
在无重启插件中不可用,并且不希望设置以下内容
[1]更新:澄清/更正:
定时 XHR 提取不包括 XML 解析和数据提取。因此整个操作(XHR、回调、responseXML、抓取数据)会花费更长的时间。
javascript - Firefox Restartless Addon:启用/禁用时记录的错误
我一直在测试,当启用或禁用 Bootstrapped/Restartless 插件时,会记录许多与其他插件相关的错误。
在启用无重启插件时:
我尝试了不同的 Restartless 插件,并且在启用/禁用时都记录了类似的错误(来自其他来源)。这些错误似乎不会影响 Firefox 或插件的运行。
这些是什么?
javascript - Components.utils.import() 中是否可以使用相对 URL/路径?
相对 URL/路径在覆盖 XUL 中有效,而不是使用完整的chrome://............
我尝试将它与Components.utils.import()
. 是否可以?
javascript - 禁用插件时,引导插件中的 removeEventListener 不起作用
我注意到在禁用引导加载项后,removeEventListener
似乎没有删除侦听器,我无法找出原因。
然后禁用插件
最后 ...
javascript - 在引导程序的卸载功能中,重新导入?
在uninstall
我的引导插件中,我做了一些重要的事情。我删除了它创建的所有文件和所有首选项。但是,这使用了一些服务。
这是我的一个uninstall
程序的示例:
我发布而不是测试的原因是因为我测试并且它有效,但是有什么特殊情况吗?就像插件被禁用,浏览器重新启动,然后用户打开插件管理器然后卸载一样。像这样的特殊情况和其他任何情况?他们是否要求我再次进口我所有的东西?
javascript - 在不使用绑定的情况下将“this”和参数传递给 addEventListener 函数
在插件禁用时引导插件中的 removeEventListener 不起作用之后,我正在探索其他可能性。
除了使用bind()
和缓存绑定函数之外,有没有办法使用“this”并传递参数?
我一直在使用许多事件侦听器,bind()
并且正在寻找不使用的替代方法bind()
我什至尝试window
使用递归函数从<menupopup id="contentAreaContextMenu" ...>
更新: bind()
干扰removeEventListener