可以创建Chrome或Firefox扩展,打开新选项卡并加载网页。这样的网页基本上是带有CSS和JavaScript的HTML。因此,原则上,应该可以从扩展的源代码本地打开此HTML页面,并获得与扩展相同的行为。或者在线发布HTML,CSS和Javascript作为常规网站。
尽管如此,打开扩展程序的主HTML页面并不总是会产生有效的网站。我假设,当加载扩展时,运行其他脚本并由浏览器设置权限(请参阅扩展API's和manifest)。
将浏览器扩展转换为独立网站需要什么?是否有'包装'(polyfill,shim)可以读取清单并重现扩展的行为?
某些API调用可以使用填充程序或polyfill拦截。此填充程序应重新实现这些函数,而不使用特定于扩展的API调用。
我创建了一个包含这样一个Javascript垫片的简单Git repository。