Chrome禁用Flash后B站/腾讯视频仍提示“请安装Flash”,实为旧JS检测逻辑失效;需手动启用HTML5播放器或通过Network面板提取m3u8/mp4直链播放。

Chrome 禁用 Flash 后 B站/腾讯视频仍卡在“请安装Flash”?
不是网站没HTML5,而是它还在用旧逻辑检测 Flash 环境,导致 fallback 失败。现代 Chrome(v88+)已彻底移除 Flash 支持,但部分页面 JS 仍调用 navigator.plugins["Shockwave Flash"] 或检查 window.ActiveXObject,结果判定“无播放器可用”,直接白屏或弹窗。
- 先确认 Flash 是否真被禁用:地址栏输入
chrome://settings/content/flash,看到“已关闭”且开关灰显即生效 - 刷新前务必关闭所有含视频的标签页——Chrome 的插件策略是按进程级缓存,单页刷新无效
- 若仍提示“请安装Flash”,说明页面未触发 HTML5 自动降级,需人工干预(见下一条)
手动触发 B站 HTML5 播放器的三种可靠方式
B站已全量支持 HTML5,但入口藏得深或受登录态影响。最稳的是组合操作,而非只点设置图标。
- 登录后访问
https://www.bilibili.com/blackboard/html5.html,点“启用HTML5播放器”按钮——该操作会写入本地localStorage标记,对当前浏览器全局生效 - 进入个人中心 → 设置 → 播放设置 → 打开“启用HTML5播放器”开关(注意:必须已登录,且该设置仅对当前账号有效)
- 播放页按
F12打开 Console,粘贴执行:document.querySelector('video')?.play()?.catch(e => console.log('HTML5 ready'));若返回 Promise 并无报错,说明已就绪,此时右键视频区域应出现原生上下文菜单
Network 面板提取直链:绕过所有前端判断
当页面 JS 错误、CDN 劫持或 UA 检测异常时,直接拿视频流地址是最硬核的办法。B站、腾讯、爱奇艺等均使用分片协议(m3u8 或 dash),浏览器原生支持。
- 打开播放页 →
F12→ Network 面板 → 筛选类型为Media - 播放几秒后,找扩展名是
.m3u8或.mp4的请求(B站多为index.m3u8,腾讯常为index-1000000001.mp4) - 右键 → “Open in new tab”,新标签页中浏览器会直接用
播放,完全不走网站 JS 控制逻辑 - 注意:部分 m3u8 含防盗链 header,直接打开可能 403;此时需复制请求 URL,在新标签页中用 curl 或 Postman 补
Referer: https://www.bilibili.com再试
为什么“点齿轮→切换HTML5”经常失效?
这个 UI 入口本质是调用站点内部的 player.switchToHTML5() 函数,但它依赖两个前提:播放器 SDK 已加载 + 当前视频资源支持 HTML5 路径。很多老番/UGC 视频后台仍只存 FLV,前端强行切 HTML5 会报 MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED,然后静默回退到 Flash 提示。
立即学习“前端免费学习笔记(深入)”;
- 遇到点击无反应或切完黑屏,先看 Console 是否有
DOMException: The element has no supported sources - 此时不要反复点齿轮,应改用 blackboard 页面启用法(上一条),它会强制重载整个播放器模块
- Edge / Firefox 用户注意:B站对非 Chrome 内核浏览器的 HTML5 开关权限更严,建议优先用 Chrome 完成启用,再换浏览器访问











