微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何访问 Chrome 扩展清单版本 3 (MV3) 中扩展程序中的所有文件?

如何解决如何访问 Chrome 扩展清单版本 3 (MV3) 中扩展程序中的所有文件?

背景

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

问题

有谁知道如何访问 Chrome Extension Manifest Version 3 中扩展目录中的所有文件

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

解决方法

这是基于来自 ManifestV3 的 removed 后台页面的 DOM 功能的众多功能之一,因为 Service Worker 没有 DOM。例如,getPackageDirectoryEntry 在其返回值中使用旧的非标准 FileSystem API。

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。