Manifest V3 Chrome扩展加载图标提示无法加载指定图标如何解决
错误原因
Chrome 扩展加载 manifest.json 中声明的资源时,仅允许引用 manifest 文件所在目录及其子目录下的文件,禁止通过../向上级目录跳转访问资源。你配置里的图标路径写了../src/assets/images/checkmark-16.png,属于越权访问上级目录的路径,Chrome 会直接拦截该路径的读取请求,最终抛出图标加载失败的错误。
修复步骤
- 将需要用到的扩展图标文件,移动到 manifest.json 所在的项目根目录下,推荐在根目录新建
icons文件夹存放所有尺寸的图标(Chrome 扩展通常需要16px、48px、128px三个尺寸的图标,分别适配扩展栏、扩展管理页、Chrome应用商店展示场景)。 - 修改 manifest.json 中的路径配置,删除路径开头的
../,填写相对于 manifest.json 的正确相对路径,同时建议给action字段补充default_icon配置,避免扩展栏图标显示异常,修正后的配置参考如下:
{ "manifest_version": 3, "name": "Reminder-App", "version": "0.1.0", "description": "Reminder app for all your tasks", "action": { "default_popup": "index.html", "default_title": "Reminder App", "default_icon": { "16": "icons/checkmark-16.png", "48": "icons/checkmark-48.png", "128": "icons/checkmark-128.png" } }, "icons": { "16": "icons/checkmark-16.png", "48": "icons/checkmark-48.png", "128": "icons/checkmark-128.png" }, "permissions": ["storage"] }
补充说明:除图标外,manifest 中声明的 popup 页面、content script、background script 等所有资源路径,都不能使用
../向上跳转访问 manifest 根目录之外的文件,否则都会出现资源加载失败的问题。
内容的提问来源于stack exchange,提问作者Michael Horvilleur
相关产品推荐
相关产品推荐

