LG电视浏览器禁用file://协议,必须改用局域网HTTP服务(如http://192.168.1.100:8000)访问HTML5资源,并注意preload、muted autoplay、H.264+MP4编码及MIME类型配置。

LG电视浏览器不支持 file:// 协议加载本地 HTML5 文件
LG 智能电视内置的 NetCast 或 webOS 浏览器(基于旧版 WebKit)默认禁用 file:// 协议,这是根本原因。它会直接拒绝加载本地 HTML、JS、CSS 或媒体文件,哪怕路径完全正确——不是路径写错,是浏览器策略层面拦截。
常见现象包括:Failed to load resource: net::ERR_ACCESS_DENIED、空白页、控制台无报错但音视频元素显示 NETWORK_EMPTY、canPlayType() 返回空字符串。
- 路径如
file:///USB1/Video/index.html或file:///media/usb1/index.html在 LG 上基本无效 - USB 设备挂载路径因固件版本而异,但协议限制与路径无关
- webOS 3.0+ 理论上支持更现代的 API,但仍默认关闭
file://访问以保安全
LG 上可行的 HTML5 本地播放方案:HTTP 服务替代 file://
必须绕过 file://,改用 http://。LG 浏览器对本地 HTTP 服务(尤其是同网段)兼容性好得多,且能正常触发 HTMLMediaElement 的加载和播放逻辑。
实操建议:
立即学习“前端免费学习笔记(深入)”;
- 在手机或电脑上起一个轻量 HTTP 服务,把 HTML + 资源放进去
- 确保 LG 电视和服务器在同一局域网
- 在 LG 浏览器中访问类似
http://192.168.1.100:8000/index.html的地址 - 避免使用需要 CORS 的跨域请求;所有资源(
.mp4、.js)应同域提供
常用命令示例(任选其一):
python3 -m http.server 8000
npx http-server -p 8000
php -S 192.168.1.100:8000
HTML5 视频标签在 LG 上的关键适配点
即使走 HTTP,LG webOS 对 支持仍有细节差异。不加处理容易卡在加载态或静音播放。
- 必须显式设置
preload="auto",否则部分固件不会预加载元数据 - 避免依赖
autoplay(尤其带声音),LG 默认静音且常需用户手势触发;可改用muted autoplay+play()后立即unmute() - 优先用 H.264+AAC 编码的 MP4,LG 对 VP9/WebM 支持极不稳定
-
canPlayType("video/mp4")应返回"probably";若返回空,说明 MIME 类型未正确响应(HTTP 服务需配置.mp4 → video/mp4)
USB 直播方案的隐藏限制与验证方法
LG 官方文档提过“USB 播放 HTML 内容”,但实际仅适用于其自家封装的 App(如 Gallery、Media Player),**不适用于浏览器打开 HTML 文件**。所谓“支持”是指系统级媒体播放器能识别 .html 并尝试渲染,但该流程绕过标准 DOM 和 JavaScript 运行时。
- 测试方法:把
index.html放 USB 根目录,用 LG 媒体播放器打开 —— 若只显示白屏或报错“不支持的格式”,说明走的是非浏览器路径 - 路径命名必须全英文、无空格、无中文(如
/USB1/vid/test.html可行,/USB1/测试/test.html大概率失败) - 即便能打开,
fetch()、localStorage、WebGL等 API 均不可用,本质是静态渲染而非运行 HTML5 应用
真要跑完整 HTML5 应用,HTTP 服务是目前唯一稳定路径。别在 file:// 上反复调路径,那是方向性错误。










