Chrome扩展options_page页面通过URL播放音频报错如何解决?
Chrome扩展音频播放报错修复方案
核心修改点
- 补全音频URL的HTTPS协议
你存储的音频链接为协议相对路径(//ssl.gstatic.com/...格式),在扩展options页面场景下,浏览器会默认拼接扩展自身的chrome-extension://协议,导致请求地址非法。将对应代码行修改为:
// 原代码:let getAudio = getWordsObj[e.target.id].audio; let getAudio = 'https:' + getWordsObj[e.target.id].audio;
- 补充Audio.play()的Promise异常捕获
Audio.play()方法返回Promise对象,未捕获异常会触发控制台报错,将对应代码行修改为:
// 原代码:sound.play(); sound.play().catch(err => { console.error('音频播放失败:', err); });
可选优化
你当前配置的web_accessible_resources仅适用于扩展包内的本地音频资源,本次调用的是远程公共音频资源,该配置不会生效,不需要用到可直接删除;如果使用Manifest V3版本,该配置格式不符合规范,需要调整为包含resources和matches字段的对象格式。
内容的提问来源于stack exchange,提问作者vinayak
相关产品推荐
相关产品推荐

