问题描述
只是一个普通的静态视频资源地址,使用video标签进行播放
在a站点跨域
在b站点可以正常播放
经过简单排查,发现是在a站点访问时,请求头中的Sec-Fetch-Mode字段被设置成了cors导致的跨域
排查经过
- 首先找了半天fetch请求的mode参数控制该字段
但是这个请求是原生video标签发起的,也不存在fetch
-
然后看看官方对
sec-fetch-mode的描述,没有得到有用信息。 -
看到git上一个和该问题类似的issue, 看了之后更迷了,感觉这个字段是浏览器自动设置的,前端想修改只能通过fetch的方法实现拉取资源,同时设置
mode,但是设置为no-cors的mode获取的数据是js无法访问的,无解的感觉
留此文章记录,相信未来人的智慧哈哈