一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

为什么谷歌浏览器更新后原本正常的自定义脚本失效了

时间:2026-07-04 12:20:46 编辑:袖梨 来源:一聚教程网

Chrome 138+因强制Manifest V3导致Tampermonkey等V2脚本静默失效,需确认manifest.json为V2、开启“允许用户脚本”、或通过控制台/data URL临时执行;138–139版可启用flags或注册表临时支持V2,140+已彻底移除。

谷歌浏览器更新到138及以上版本后,原本能正常运行的Tampermonkey、脚本猫等平台加载的自定义JS脚本突然失效,点击按钮没反应、定时器停摆、页面元素无法注入——这并非脚本代码出错,而是Chrome强制执行Manifest V3规范导致的结构性拦截。

确认是否被Manifest V2拦截

打开脚本所在扩展文件夹 → 用记事本或VS Code打开manifest.json → 查看首行是否为"manifest_version": 2

若存在且无service_workerhost_permissions等V3必需字段,即确认为V2格式,会被Chrome 138+直接拒载,不弹窗、不报错、不加载后台逻辑——脚本从启动那一刻就静默死亡。

启用用户脚本功能(适用于油猴/脚本猫)

① 访问chrome://extensions/ → 找到Tampermonkey或ScriptCat插件 → 点击“详情”。

② 向下滚动至“允许用户脚本”开关 → 【必须开启】 → 关闭再重新启用该插件,或重启浏览器。

这一步仅对Manifest V3版插件生效;若插件本身仍是V2打包结构,开启后仍无效。

绕过校验直接注入单文件脚本

方法一:控制台手动执行
打开目标网页 → 按F12 → 切换到Console标签 → 粘贴你的JS脚本全文 → 回车运行。

方法二:用data URL注入
在地址栏粘贴:javascript:(function(){/*把脚本代码base64编码后放这里*/})(); → 回车。

此方式不依赖扩展,但每次刷新页面需重执行,适合临时调试或紧急补救。

临时启用V2支持(仅限138–139.x版本)

方法一:通过chrome://flags
地址栏输入chrome://flags/#allow-legacy-mv2-extensions → 设为Enabled → 重启浏览器。

方法二:Windows注册表强制放行
Win+R → regedit → 导航至HKEY_LOCAL_MACHINESOFTWAREPoliciesGoogleChrome → 新建DWORD值ExtensionManifestV2Availability → 数值设为2 → 访问chrome://policy/点“重新加载政策” → 重启浏览器。

【该策略在Chrome 140+中已被彻底移除,不可用于当前最新版】

热门栏目