Chrome扩展Manifest V3本地文件权限问题求助
解决Chrome扩展Manifest V3访问本地文件的权限错误
问题原因
你配置的host_permissions: ["*://*/*"]仅覆盖HTTP/HTTPS等标准协议的网址,不包含本地文件协议(file://),加上Chrome对本地文件的访问有额外安全限制,这就是触发报错的核心原因。
解决方案
1. 更新Manifest权限配置
修改manifest.json,在host_permissions中添加file:///*,同时确保content_scripts的matches也显式包含该协议(如果需要作用于本地文件):
{ "manifest_version": 3, "name": "AutoClicker", "permissions": ["activeTab", "scripting"], "host_permissions": ["*://*/*", "file:///*"], "content_scripts": [ { "matches": ["<all_urls>", "file:///*"], "js": ["content.js"] } ] }
注:Manifest V3中
<all_urls>不包含file://协议,必须手动添加。
2. 开启Chrome本地文件访问开关
即使配置了manifest权限,Chrome默认仍阻止扩展访问本地文件,需手动开启:
- 打开
chrome://extensions/页面 - 找到AutoClicker扩展,点击「详情」
- 开启「允许访问文件网址」的开关
3. 校验脚本注入逻辑(若使用scripting API)
如果通过chrome.scripting.executeScript注入脚本,确保目标页面是本地文件,且注入逻辑无权限遗漏:
chrome.scripting.executeScript({ target: { tabId: tabId }, files: ["inject.js"] }).catch(err => console.error(err));
内容的提问来源于stack exchange,提问作者Mohamed Laabidi
相关产品推荐
相关产品推荐

