Vue项目中Bugfender在Safari 15.3报错:ReferenceError: BroadcastChannel
解决Bugfender在Safari 15.3中报错
ReferenceError: Can't find variable: BroadcastChannel的问题 问题原因
Safari 15.3及更早版本原生不支持BroadcastChannel API,而你使用的Bugfender SDK内部依赖了这个API,因此在该版本Safari中会触发找不到变量的报错。
可行解决方案
- 升级Safari版本:直接将Safari升级到15.4或更高版本,该版本开始原生支持
BroadcastChannel,升级后Bugfender即可正常运行。 - 添加API垫片(polyfill):如果无法升级浏览器,可给项目引入
BroadcastChannel的兼容垫片,步骤如下:- 安装垫片依赖:
npm install broadcast-channel # 或使用yarn yarn add broadcast-channel - 在Vue项目入口文件(如
main.js)最顶部添加代码,提前给全局对象注入垫片:import { BroadcastChannel } from 'broadcast-channel'; window.BroadcastChannel = BroadcastChannel; - 再正常初始化Bugfender实例即可。
- 安装垫片依赖:
- 检查SDK版本:查看Bugfender版本更新记录,确认是否有针对旧版Safari的兼容版本;也可向Bugfender官方提交问题反馈,请求添加对Safari 15.3的兼容支持。
内容的提问来源于stack exchange,提问作者Prachit Patil
相关产品推荐
相关产品推荐

