推出扩展兼容性测试器

随着 Firefox 迁移到现代 Web 样式浏览器扩展 API,现在可以维护一个代码库并在多个浏览器中发布扩展程序。但是,由于不同的浏览器可能具有不同的功能,因此某些扩展程序可能需要修改才能真正实现可移植性。考虑到这一点,我们构建了扩展兼容性测试器,以帮助开发人员更好地了解其现有扩展程序是否可以在 Firefox 中运行。

该工具目前支持 Chrome 扩展程序包 (.crx) 文件,但我们正在努力扩展可以检查的扩展程序类型。该工具会生成一份报告,显示任何可能使用的与 Firefox 不兼容的 API 或权限,以及有关如何将兼容的扩展程序分发给 Firefox 用户的后续步骤。

我们将继续参与浏览器扩展社区小组,并支持其目标,即在浏览器和开发人员可以使用的 API 中找到可扩展点的通用子集。我们希望您能试用一下该工具,并告诉我们您的想法!

立即试用!>>

“工具显示我的扩展程序可能不兼容”

不用担心!我们的分析仅显示 API 和权限的使用情况,并且没有完整的上下文。如果与不兼容的功能对您的扩展程序不是必需的,则可以使用功能测试仅在可用时使用 API

<span class="sf_code_syntax_comment">// Causes an Error
</span>browser.unavailableAPI(...);
<span class="sf_code_syntax_comment">
// Capability Testing FTW!
</span><span class="sf_code_syntax_keyword">if</span><span class="sf_code_syntax_comment"> (</span><span class="sf_code_syntax_string">'unavailableAPI'</span><span class="sf_code_syntax_comment"> </span><span class="sf_code_syntax_keyword">in</span><span class="sf_code_syntax_comment"> browser) {</span>
	browser.unavailableAPI(...);<span class="sf_code_syntax_comment">
</span>}

此外,我们不断扩展可用的扩展程序 API,因此您缺少的功能可能只需几周时间即可实现!

“工具显示我的扩展程序兼容!”

太棒了!也就是说,在提交之前,一定要在 Firefox 中试用您的扩展程序,以确保其按预期工作。常见 API 在不同浏览器中的效果可能仍然不同。

“我不想将我的代码上传到第三方网站。”

明白!兼容性测试可作为我们扩展开发命令行工具的一部分或作为独立模块使用。

如果您在使用该工具时遇到任何问题,请提交问题或在此处发表评论。希望此工具能够成为帮助开发人员移植其扩展程序的有用第一步,并能获得更健康、更互操作的扩展程序生态系统。

移植愉快!


一条评论

  1. Peter

    “如果与不兼容的功能对您的扩展程序不是必需的,则可以使用功能测试仅在可用时使用 API:[…]
    此外,我们不断扩展可用的扩展程序 API,因此您缺少的功能可能只需几周时间即可实现!”

    当不兼容的功能*是*扩展程序必不可少的,并且 API 不会被实现时该怎么办?扩展兼容性测试器正确地识别出我的 Chrome 扩展程序中的 3 个 API 在 Firefox 中不可用。它们既未在 [1] 中列出,也未在 [2] 中列出。为什么没有页面告诉开发人员哪些 Chrome API *根本*不会被支持?我依稀记得在 [3] 上看到过类似的列表,但该页面已更改为简单地显示“是”(我不同意)。

    此外,我认为文档不可信。查看 chrome.identity.* API,根据 [4],*没有* Chrome 不兼容性。但是,查看 [5] 显示六种方法中有四种 (!) 根本没有实现,也没有任何信息说明何时或是否会实现这些方法。

    [1] https://mdn.org.cn/en-US/Add-ons/WebExtensions
    [2] https://mdn.org.cn/en-US/Add-ons/WebExtensions/Chrome_incompatibilities
    [3] http://arewewebextensionsyet.com/
    [4] https://mdn.org.cn/en-US/Add-ons/WebExtensions/API/identity#Chrome_incompatibilities
    [5] https://developer.chrome.com/extensions/identity

    2017年8月24日 08:11

本文的评论已关闭。