Manifest V3 Chrome扩展配置host_permissions仍报错问题求助
解决Manifest V3 Chrome扩展代理配置的权限报错
直接排查这几个关键问题:
核对manifest.json的权限配置
首先确保host_permissions是manifest的顶级字段,别嵌套在permissions里,同时必须加上代理和请求拦截的必要权限,正确格式如下:{ "manifest_version": 3, "name": "你的扩展名称", "version": "1.0", "host_permissions": ["<all_urls>"], "permissions": ["webRequest", "webRequestAuthProvider", "proxy"], "background": { "service_worker": "background.js" } }你大概率漏加了
webRequest、webRequestAuthProvider、proxy这些权限,没有它们,webRequest API根本没法正常工作。确保权限生效
修改manifest后,必须去Chrome扩展管理页(chrome://extensions/)点击「重新加载」,而且要确认扩展处于启用状态。如果之前手动拒绝过权限,去扩展详情页的「权限」板块重新授权。检查background.js的API调用逻辑
使用webRequest相关API时,监听事件必须指定匹配的URL范围,比如处理代理认证的代码要这么写:chrome.webRequest.onAuthRequired.addListener( (details) => { return { authCredentials: {username: "你的用户名", password: "你的密码"} }; }, {urls: ["<all_urls>"]}, ["blocking"] );要是没加
{urls: ["<all_urls>"]}这个参数,也会触发权限报错。清除扩展缓存
有时候Chrome会缓存旧的扩展版本,直接删掉扩展再重新加载,或者点开发者模式下的「更新」按钮强制刷新。
要是还解决不了,把你的manifest.json和background.js完整代码贴出来,再针对性排查。
内容的提问来源于stack exchange,提问作者MMM
相关产品推荐
相关产品推荐

