如何使用 Mozilla Add-on SDK 创建 UI?

How to create UI with Mozilla Add-on SDK?

我想为 Mozilla Firefox 创建一个扩展,它处理 HTML 代码并在新 window 中生成屏幕 reader 输出。我需要创建一个 UI window(没有选项卡、面板和地址栏),我只在 SDK API 中找到了一个选项卡和 window 方法,它会打开一个新的选项卡或新浏览器 window,但我需要一个带有按钮的自定义 window。

我已经开始在 XUL 中使用 window 构建覆盖扩展,但这是一种旧类型的扩展。所以,我决定做一个不重启的扩展。

如何使用SDK制作用户界面?如果我在 SDK 中使用 XUL window 是一个好习惯吗?

我认为 panel API or simply loading a HTML page from the addon XPI into a tab and using page-mod 被鼓励用于插件 UI。

如果您真的想打开一个完全自定义布局的单独 window,您可以使用 window/utils#open。 HTML 是首选(您可以只使用 * {unset: all} + 一些 flexbox 样式来获得基本的类似 XUL 的行为)。

如果您希望插件直接与 window 交互(而不是消息传递),您应该使用 chrome 权限打开它,否则它可能会通过 e10s 进入内容进程这会破坏插件代码的直接访问。