LG电视浏览器禁用file://协议,必须改用局域网HTTP服务(如http://192.168.1.100:8000)访问HTML5资源,并注意preload、muted autoplay、H.264+MP4编码及MIME类型配置。
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 上基本无效file:// 访问以保安全必须绕过 file://,改用 http://。LG 浏览器对本地 HTTP 服务(尤其是同网段)兼容性好得多,且能正常触发 HTMLMediaElement 的加载和播放逻辑。
实操建议:
http://192.168.1.100:8000/index.html 的地址.mp4、.js)应同域提供常用命令示例(任选其一):
python3 -m http.server 8000
npx http-server -p 8000
php -S 192.168.1.100:8000
即使走 HTTP,LG webOS 对 支持仍有细节差异。不加处理容易卡在加载态或静音播放。
preload="auto",否则部分固件不会预加载元数据autoplay(尤其带声音),LG 默认静音且常需用户手势触发;可改用 muted autoplay + play() 后立即 unmute()
canPlayType("video/mp4") 应返回 "probably";若返回空,说明 MIME 类型未正确响应(HTTP 服务需配置 .mp4 → video/mp4)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:// 上反复调路径,那是方向性错误。