测试同学反馈生产环境有个功能出现异常,然后给我发了张报错截图。
出现原因如下:
issue 标题很直白,Event.path 将被删除。 从 issue 内容可以看到,这次搞事是从 2021 年 12 月 7 日开始,起因是 chromium 开发团队认为 Event.path 属于非标准 API,会导致 Firefox 等其他浏览器的兼容性问题,于是他们决定将其删除。目前这个变更在 chrome 108 属于灰度阶段,在即将发布的 chrome 109 上会全面应用,webview 则是从 109 版本开始逐步禁用
解决方法:
在app.vue页面mounted生命周期中添加
// 处理e.path 报错的问题
this.$nextTick(() => {
Object.defineProperty(Event.prototype, "path", {
get() {
return this.composedPath();
}
});
});
可以完美解决Event.path引起的报错问题,亲测有效。。。