【问题标题】:Convert browser extension to regular website将浏览器扩展转换为常规网站
【发布时间】:2019-08-29 12:38:27
【问题描述】:

可以创建ChromeFirefox 扩展程序来打开新标签并加载网页。这样的网页基本上是带有一些 CSS 和 JavaScript 的 HTML。因此,原则上,应该可以从扩展的源代码本地打开这个 HTML 页面,并获得与扩展相同的行为。或者将 HTML、CSS 和 Javascript 作为常规网站在线发布。

尽管如此,打开扩展程序的主要 HTML 页面并不总是会导致网站正常工作。我假设,在加载扩展程序时,会运行其他脚本并由浏览器设置权限(请参阅扩展程序 API'smanifest)。

将浏览器扩展程序转变为独立网站需要什么?是否有可以读取清单并重现扩展行为的“包装器”(polyfill、shim)?

【问题讨论】:

  • 扩展程序通常使用仅在扩展程序中可用的 chrome 扩展程序 API,因此转换为 Web 应用程序仅在极少数不使用 API 的情况下才有意义。
  • @wOxxOm 你说的是这些(developer.chrome.com/apps/api_index)。因此,每次调用此类函数都需要转换为常规网站可用的操作(如果可能)?
  • 您知道可以获取原始代码并使其像普通网站一样运行的“包装器”吗?如果有人对我可以通过 Google 搜索到的搜索字词提出建议,那也会有所帮助。
  • 我什么都不知道,也无法想象它会有什么帮助,因为 API 对于大多数扩展的功能至关重要。显然你在谈论一些我无法想象的特定用例。

标签: google-chrome-extension firefox-addon polyfills browser-extension shim


【解决方案1】:

在 wOxxOm 的有用 cmets 之后,我意识到可以使用 shim 或 polyfill 拦截一些 API 调用。此 shim 应重新实现功能,而不使用特定于扩展的 API 调用。

我创建了一个简单的 Git repository 包含这样一个 Javascript shim。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-18
    • 2019-12-27
    • 1970-01-01
    • 2013-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多