百度浏览器旧版Blink内核(Chromium 69)因冻结于2018年,无法解析ES2022+语法与API,导致Promise.allSettled等特性报错或跳过,引发交互中断、表单失败、内容空白;可通过切换兼容模式(⚡图标→选【兼容模式】→重载,URL追加?iecompat=1)、禁用硬件加速(设置→系统→关闭硬件加速→重启并手动输入首页)或注入polyfill补丁(Console执行或Tampermonkey持久化)三类方案应对。

百度浏览器旧版Blink内核(Chromium 69分支,2018年冻结)无法正确解析现代JavaScript语法与API,导致Promise.allSettled、Array.fromAsync、AbortSignal.timeout、top-level await等特性直接报错或静默跳过,页面交互逻辑中断、表单提交失败、动态加载内容空白。
切换至兼容模式绕过现代JS解析
兼容模式启用Trident+WebKit混合通道,不尝试解析ES2022+语法,而是将脚本整体忽略或降级为IE11可执行片段,适合仅需基础表单提交、跳转的老旧业务系统。
第一步:在异常网页地址栏右侧找到⚡闪电图标;
第二步:点击该图标→从下拉菜单中选择【兼容模式】;
第三步:等待页面自动重载——此时URL末尾会追加?iecompat=1参数,表示已切入兼容通道;这一步操作起来很简单,直接点一下图标就行。但注意:若当前已是兼容模式,需先切回极速模式再切回来一次,否则渲染上下文不会重建。
禁用硬件加速强制走CPU软件执行
旧版Blink的V8引擎与GPU光栅化模块存在线程耦合缺陷,当JS执行中触发Canvas渲染或WebGL初始化时,极易引发主线程挂起,表现为按钮点击后控制台无报错但回调函数完全不执行。
点击右上角菜单→设置→系统→关闭“使用硬件加速模式(如果可用)”;
点击右下角“重启浏览器”按钮;
重启后必须手动输入https://www.baidu.com并回车,不可从历史记录或书签打开,否则旧GPU上下文仍被复用。
注入polyfill补丁覆盖缺失API
在控制台执行一段轻量级补丁代码,可临时修复部分ES2020+原生方法缺失问题,适用于需要保持极速模式且仅差1~2个API的场景。
方法一:快速注入
按F12打开开发者工具→切换到Console标签页→粘贴以下代码并回车:
if (!window.Promise || !Promise.allSettled) { Promise.allSettled = function(promises) { return Promise.all(promises.map(p => p.then(v => ({status: 'fulfilled', value: v}), e => ({status: 'rejected', reason: e})))); }; }
方法二:持久化注入(需配合扩展)
安装“Tampermonkey”用户脚本管理器→新建脚本→在@match字段填入目标网站域名(如*://*.baidu.com/*)→将上述polyfill代码粘贴进主函数体→保存启用。



















