firefox插件有类似"背景页"的概念吗?

ser*_*erg 15 firefox-addon

我使用了具有所谓背景页面的Chrome扩展程序 - 一个html页面,每个浏览器窗口在后台加载一次.您可以存储一些javascript变量,可以访问扩展自己的本地存储,可以与内容脚本(注入页面的脚本)进行通信.

Firefox中是否有类似内容,如何将其用于上面列出的任务?

Adi*_*i B 12

如果您正在使用(相对)新的附加组件SDK,那么驻留在您的lib目录中的主要javascript文件相当于Chrome扩展程序的后台页面 - 在后台运行的持久脚本,并生成/创建/插入面板,小部件和内容脚本.

关于你的具体要求:

1. localStorage: Firefox中的附加组件无法直接访问localStorage.但是,您可以使用简单存储来存储类似于localStorage的数据.

2.与内容脚本的通信:附加组件可以使用portpostMessage与内容脚本进行通信.


Nei*_*eil 0

从传统的 Firefox 扩展的角度来看,浏览器本身只是另一个包含文档的窗口,尽管这是一个 XUL 文档而不是 HTML 文档。因此,您可以存储每个窗口变量,但必须小心不要覆盖其他扩展变量,这通常意味着声明一个顶级对象并将所有变量添加为该对象的属性。

在窗口之间共享变量曾经有点困难,但幸运的是 JavaScript 模块在简单的情况下(原始类型)解决了这个问题。

扩展可以与内容脚本进行通信,尽管有一些包装器可以防止您意外地做一些愚蠢的事情。