TV浏览器屏蔽非HTML5资源需从加载源头(CSP策略)和运行时拦截(DOM清理、HTML5专用URL)双管齐下:禁用object/embed标签、注入CSP响应头或meta标签、移除旧标签并强制video显示、改用平台HTML5专属链接。
TV 浏览器(如 WebOS、Tizen、Android TV 内置浏览器或第三方轻量浏览器)通常不支持插件、无法安装 uBlock Origin,也不具备桌面级开发者工具,屏蔽非 HTML5 资源(比如 Flash、Silverlight、旧版 ActiveX 视频控件、object/embed 标签加载的私有播放器)不能靠扩展,得从「加载源头」和「运行时拦截」两个层面动手。
很多 TV 浏览器已彻底移除 Flash 支持(Chrome 88+、所有现代 WebKi

。先验证:
chrome://inspect 查看渲染节点、、 嵌套的可疑 src,尤其是含 .swf、.xap、player.do 等后缀的请求media 或 flash:若无相关请求,说明网站早已降级到 HTML5,问题可能出在广告 JS 注入而非播放器本身TV 浏览器对 Content-Security-Policy 支持度尚可(尤其 WebOS/Tizen),可通过注入响应头或 meta 标签,直接阻止 object、embed、script 加载非标准媒体资源。这是最底层、最可靠的过滤方式:
Content-Security-Policy: object-src 'none'; script-src 'self' 'unsafe-inline';
中插入 object-src 会同时拦截 Flash 和旧版视频控件;禁用 embed-src 可防 PDF/Flash 嵌入;但不要盲目加 media-src 限制——它会影响 的合法 CDN 源有些网页即使没加载 Flash,也会在 DOM 中保留 占位符,并靠 JS 动态替换为 HTML5 播放器。TV 浏览器 JS 执行慢,容易卡在旧逻辑里。可在页面加载初期主动清理:
document.addEventListener('DOMContentLoaded', () => {
// 移除所有 embed/object 标签(它们已无作用且可能触发错误)
document.querySelectorAll('embed, object').forEach(el => el.remove());
// 强制 video 标签显示(防被隐藏)
document.querySelectorAll('video').forEach(v => v.style.display = 'block');
});
把这段代码存为书签(TV 浏览器大多支持“收藏夹 JS”),访问视频页前先点一下;或配合用户脚本管理器(如 Kiwi Browser on Android TV 的 Tampermonkey)自动执行。
多数主流平台(优酷、腾讯视频、Bilibili)提供纯 HTML5 播放入口,绕过所有旧版兼容逻辑。TV 浏览器访问这些地址,基本不会触发非 HTML5 资源:
id_ 替换为 html5/,例如 https://v.youku.com/v_show/id_XNDU2Nzg5MjQ0.html → https://v.youku.com/v_show/html5/XNDU2Nzg5MjQ0.html
?html5=1,如 https://www.bilibili.com/video/BV1xx411c7mu?html5=1
https://v.qq.com/x/page/xxx.html(新版 x.page 域名默认强制 HTML5,旧 v.qq.com 域名仍可能 fallback)关键不是“能不能播”,而是“会不会去加载 Flash 检测脚本”。只要 URL 路径明确指向 HTML5 渲染分支,TV 浏览器内核就不会尝试初始化任何非标准插件环境。
真正难处理的不是 Flash 本身(它早死了),而是某些小平台用自研 JS 框架模拟 object 行为、或通过 document.write 动态注入 iframe 广告——这类情况必须结合 CSP + DOM 清理 + URL 重写三手齐下,缺一不可。