今天主要在做两个网络检测的需求,一个是在会中头部增加字幕服务的连接情况(遇到异常时标红),另一个则是在会前独立的网络测试页面实现一个音视频服务的「网络情况检测」功能,基本上就是在一个 Hooks 里面以最简方式实现一套连接过程,并实时显示网络情况。
下午群里反馈客户遇到了一个 Bug,在 Safari 浏览器上使用「共享屏幕」功能,会出现错误提示。我试了下,几乎 100% 可复现。找了一段时间才把错误原因打了出来。
InvalidAccessError: getDisplayMedia must be called from a user gesture handler.
直接看这句话的意思,大概就是说这个方法必须通过用户操作触发。想起来之前遇到一个 剪贴板无法复制 的问题,一样是在 Safari 上出现的。感觉它们属于同类问题,大概率是在调用方法之前执行了一段异步函数,执行时间还很长,从而导致无法使用。
临近下班时间了,这个问题就明天再继续处理吧!晚上回到家基本上刷视频和挂游戏了,也就给自己小窝增加了一个动态页面功能,未预设的任意链接将会先向后端请求数据,匹配成功则正常展示,否则重定向到 404 页面。