首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firefoxe的web-ext工具可以在start with -u上打开一个扩展页面吗?

Firefoxe的web-ext工具可以在start with -u上打开一个扩展页面吗?
EN

Stack Overflow用户
提问于 2019-04-27 05:10:22
回答 1查看 309关注 0票数 2

据我所知,每次重新加载一个扩展时,它都会获得一个新的UUID和一个新的moz-extension://。这使得我不可能提前知道我想要与web-ext run -u一起使用的扩展页面URL。这使得web-ext对我来说几乎毫无价值,因为我必须(手动)打开我需要在其上运行测试的页面。如果我事先知道网址,我就可以把它传递给web-ext,然后用一个无头FF完全自动地做所有的事情。有什么办法可以解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2019-04-28 04:41:43

经过一番折腾之后,我终于设法让web-ext在浏览器启动时打开了一个带有moz-extension模式的页面。

(我发现)使用扩展上下文打开此页面(并正确测试此页面)而不是将其作为普通file://打开的唯一方法是使用moz-extension://<internal UUID>/path/to/extension/page/from/extension/root类型URI来访问它。

问题是,作为一个临时扩展,它总是有一个不同的UUID,在重新安装之间不会保留,所以没有办法告诉web-ext在使用默认设置的同时通过-u打开扩展页面。

这就是this helpful documentation page的用武之地。它提到了about:config中的extensions.webextensions.keepUuidOnUninstall选项,它就是这样做的。因此,必须创建一个将此选项设置为true的配置文件,并将其与web-ext -p选项一起使用。

我遇到的下一个问题是,页面将静默无法打开。显然,Firefox试图在安装扩展之前打开该页面。但是web-ext有一个--pre-install选项,可以让扩展(和它的页面)在启动时可用,所以当它被启用时,页面就会打开。注意1:使用--pre-install需要扩展有一个必须在manifest.json中设置的ID (这个不是前面提到的由火狐生成的UUID )。警告2,--pre-install在文件更改时禁用扩展名自动重新加载。

所以我的最终解决方案是:

对于带有firefox --manageProfiles

  1. ,请创建单独的配置文件来测试我的扩展,然后继续设置并保存extensions.webextensions.keepUuidOnUninstall about:config标志(在不使用web-ext或使用--keep-profile-changes code manifest.json的情况下执行此操作manifest.json为扩展添加id:

"applications":{ "gecko":{ "id":"addon@example.com“}}

  • 运行

moz-extension:///path/to/extension/page.html -ext运行-p --预安装-u web

这将启动Firefox,临时安装您的扩展并打开所需的页面。

如果您知道更好的解决方案(例如,不禁用自动重新加载的解决方案),欢迎您的回答。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55874988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档