服务器上托管的 Firefox 扩展应用程序

Firefox extension app hosted on server

我设法非常轻松地创建了一个 Chrome 扩展,并且主应用程序托管在我的服务器上,这让我可以为应用程序本身提供更新,而无需更新整个扩展。我喜欢这个想法,我只是想知道是否可以为 Firefox 创建一个类似的扩展,其中主要应用程序托管在实时服务器上。

在创建我的 Chrome 扩展程序时,我遵循了 a tutorial。 Chrome 的代码包含在链接页面中。

Web 应用程序:
找到 the tutorial 后(请下次提供 link)我猜你在问题中指的是,我怀疑你实际试图传达的内容与我最初解释你的问题的方式不同。我已经编辑了这个问题,以便将来阅读它的人更加清楚。

该教程解释了如何将 link 到 web 应用程序放入 Chrome 用户界面。在很大程度上,这只是一个书签,可以放置在用户界面的其他区域而不是书签栏。

如果那是您想要做的,那么,是的,您可以在 Firefox 中轻松地做到这一点。鉴于该扩展在扩展的安全上下文中不是 运行 外部内容(您实际上只是导航到并显示一个网站),那么作为 Firefox 扩展应该没问题。请注意,您需要确保在启动 Web 应用程序时没有授予提升的权限。

如果 运行 Web 应用程序是您想要做的,那么我建议您可能想要使用不同的语义来指代您正在做的事情。以上不是"Firefox extension app hosted on server"。这样说强烈暗示您在自己的服务器上托管实际的扩展代码。您的其余问题暗示扩展动态加载外部代码并运行它。我建议您这样称呼它:一个由 Firefox 扩展启动(导航到)的 Web 应用程序,允许从工具栏中的图标启动该 Web 应用程序。

扩展 运行 网络源代码:
但是,如果您想要做的是将外部内容 运行 作为 Firefox 扩展,那么实现该功能对于安装该扩展的任何人来说都是一个很大的安全漏洞。即使假设您的意图完全是无害的,对于任何拦截您的流量或控制您的服务器以将代码注入到在扩展级别运行的 Firefox 的人来说,也存在巨大的安全漏洞(即恶意软件可以 完全 控制浏览器然后控制计算机)。

是的,您目前可以为 Firefox 编写此文件。

但是,鉴于扩展程序从未打包在扩展程序中的内容中提取代码,因此永远不允许在 AMO.

上托管该扩展程序

此外,计划是在今年晚些时候there will be mandatory signing of Firefox extensions through Mozilla。我怀疑那时是否会允许这样的延期。

你可以在MDN上阅读一组Add-on guidelines

可以创建一个简单的扩展程序来在面板或选项卡中加载网络应用程序。您应该阅读 Addon SDK 文档,包括 panel, tabs and getting started 文档。

这没有任何问题,因为网络应用程序无法直接访问内部 Firefox API。如果您仔细阅读 @makyen 链接到上面的 Addon 指南,其中 none 涵盖了这个实现细节。在他们的辩护中,他们似乎误解了你想做的事情。在我看来,您只想从浏览器集成/启动您的 Web 应用程序 UI?