Firefox插件SDK加载扩展仅在重启时重新加载
Firefox Add-on SDK reload extension only upon restart
我目前有一个问题,我正在使用Firefox插件SDK开发的扩展。对于一些基本上下文,扩展使用sdk中的page-mod
api执行内容脚本。在每个内容脚本上,一些额外的javascript被注入到页面本身(我们称之为页面脚本)。为了完成一些复杂的任务,注入页面的javascript可以与内容脚本通信,然后内容脚本将反过来向扩展的后台进程发出请求。由于扩展的复杂性,当它自动更新时,可能会出现多个运行相同代码的页面脚本在给定的内容脚本上运行的情况。
我想知道的是,如果使用附加SDK构建的扩展可以在重新启动时强制更新自己。这意味着即使自动更新发生了,扩展也不会被重新加载,直到用户重新启动他们的Firefox浏览器。
如果这是不可能的,任何其他解决方案将是伟大的。
虽然我同意@Noitidart的评论,但您可以选择仅在重启时从main.js中注入内容脚本,如下所示:
const { loadReason } = require('sdk/self');
if (loadReason==='startup') {
//Inject the scripts
}
你必须确保你的旧版本的内容脚本可以与新的背景脚本通信而不会中断,这将是一个痛苦的测试。
相关文章:
- 在新的浏览器选项卡上加载新的aspx页面后调用JavaScript函数
- 更改css链接并等待加载新的css
- 如何在Ajax加载新内容时停止JavaScript执行
- 当在ng视图中加载新路由时,Tabbing(tabindex)针对错误的元素
- 如何使用输入数据加载新的extjs图表
- JQuery Masonry.Ajax图标和“;加载新项目”;绳子放错地方了
- 通过javascript在同一个打开的选项卡中重新加载新的网页内容
- 当用户到达页面右侧时加载新内容
- 数据表 AJAX 筛选器重新加载数据
- 超链接单击以加载新页面并执行JavaScript
- 单击时加载新的 SVG
- 在RadWindow中加载新页面,然后从加载的窗体中关闭窗口
- ajax在页面刷新之前不会加载新的sql结果
- 谷歌地图API-在从ajax页面加载新数据之前清除标记、多段线
- 使用Ajax加载页面,并在必要时加载新脚本
- 加载新页面时的过渡效果,AJAX
- Ajax没有正确加载新页面
- 正在加载新的Javascript,但正在调用旧的Javascript.MVC
- 咕噜咕噜的手表:实时加载重新加载落后 1 步....
- 我怎么能有一个花哨的盒子一样的弹出体加载,但与cookie不连续加载重新加载