【问题标题】:How do I get access to all the files in the extension in Chrome Extension Manifest Version 3 (MV3)?如何访问 Chrome 扩展清单版本 3 (MV3) 中的所有扩展文件?
【发布时间】:2021-05-04 14:57:49
【问题描述】:

背景

我在开发过程中一直使用crx-hotreload package 自动重新加载我的 chrome 扩展,因为每次进行更改时都必须单击扩展页面上的刷新按钮很烦人;但是,这个包不适用于 MV3,因为它使用了 chrome.runtime.getPackageDirectoryEntry 方法,该方法似乎已从 MV3 中的 chrome.runtime 中删除。我找不到文档来确认它已被删除,但是当我尝试使用它时它不存在。

问题

有谁知道如何访问 Chrome 扩展清单版本 3 中扩展目录中的所有文件?

或者一般来说,有没有更好的方法可以让我在开发过程中热重载适用于 MV3 的 chrome 扩展?

【问题讨论】:

    标签: google-chrome-extension hot-reload


    【解决方案1】:

    这是基于来自 ManifestV3 的 removed 的后台页面的 DOM 功能的许多事情之一,因为服务工作者没有 DOM。例如,getPackageDirectoryEntry 在其返回值中使用旧的非标准 FileSystem API。

    至于为什么,显然切换到服务工作者简化了 Chromium 中的内部源代码,即使它没有为扩展作者或用户提供任何真正的改进。

    此时您所能做的就是提供一个令人信服的用例,并通过https://crbug.com 要求 Chromium 开发人员实现替代 API。

    【讨论】:

    • 感谢您提供指向 Chromium 的链接。你知道我可以尝试扩展开发的任何其他热重载方法吗?
    • 要么不要使用 ManifestV3,要么添加一个单独的 html 文件,您可以在单独的窗口中打开它,这样它的 js 文件就可以使用包括 getPackageDirectoryEntry 在内的经典方法。
    猜你喜欢
    • 2022-10-01
    • 2012-08-02
    • 2021-10-16
    • 2012-08-02
    • 1970-01-01
    • 2022-12-17
    • 2021-11-28
    • 2012-09-03
    相关资源
    最近更新 更多