当前位置:首页 > 技术分析 > 正文内容

跨域strict-origin-when-cross-origin vue前端解决

ruisui883个月前 (01-15)技术分析27

今天在对接一个hls协议的视频直播流的时候,提示跨域问题,导致一直播放不了,

一直在提示 strict-origin-when-cross-origin 跨域问题。

首先上代码

  import "video.js/dist/video-js.css"
  import videojs from "video.js"
  import "videojs-contrib-hls"

       <div class="video" v-for="(item,index) in cameraList" :key="index" v-if="vedioSatatus">
          <video
                :id="`my-video${index}`"
                class="video-js vjs-default-skin"
                controls
                preload="auto"
                crossOrigin='anonymous'
              >
                <source
                  :src="item"
                  type="application/x-mpegURL"
                />
              </video>
        </div>

代码比较简单,使用video.js 插件播放的视频流。


问题分析

在低版本的chrome中正常播放,但是在76版本的chrome中报错Cross-Origin Read Blocking (CORB) blocked cross-origin response。

首先看到Cross-Origin ,就意思是这个资源跨域被浏览器同源策略限制访问了。

这些个https请求 ,response 返回值都是空。

通过现象看问题的话,有两个。

一个是服务端是不是有能力返回跨域请求头

第二个是video 在vue端 如何设置跨域请求,能允许跨域请求这些https url

方案

1、设置服务端返回跨域请求头信息,如图


2、video 设置允许跨域请求

服务端可以正常返回跨域请求头,那不能跨域,就是因为网页端的原因了。

所以,就得看一下 vue 端如何设置 支持video.js 支持跨域请求了。

其实video.js插件本身是能够设置允许跨域请求,

在HTML5中,一些 HTML 元素提供了对 CORS 的支持, 例如 和 均有一个跨域属性 (crossOrigin property),它允许你配置元素获取数据的 CORS 请求。 这些属性是枚举的,并具有以下可能的值:

anonymous 对此元素的CORS请求将不设置凭据标志。

use-credentials 对此元素的CORS请求将设置凭证标志; 这意味着请求将提供凭据。

如下图,加上跨域属性


这样的话,就不提示跨域请求了,可以正常播放视频了。

所以,总结一句话,在video标签中添加 crossOrigin属性即可。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/323.html

分享给朋友:

“跨域strict-origin-when-cross-origin vue前端解决” 的相关文章

虚幻引擎5.5发布

IT之家 11 月 13 日消息,虚幻引擎 5.5 现已发布。据介绍,新版本虚幻引擎在动画创作、虚拟制作和移动游戏开发方面取得进步;渲染、摄像机内视觉特效和开发人员迭代等领域的部分功能已可用于生产。IT之家整理部分功能亮点如下:动画Sequencer增强虚幻引擎的非线性动画编辑器 Sequencer...

22《Vue 入门教程》VueRouter 路由嵌套

1. 前言本小节我们介绍如何嵌套使用 VueRouter。嵌套路由在日常的开发中非常常见,如何定义和使用嵌套路由是本节的重点。同学们在学完本节课程之后需要自己多尝试配置路由。2. 配置嵌套路由实际项目中的应用界面,通常由多层嵌套的组件组合而成。同样地,URL 中各段动态路径也按某种结构对应嵌套的各层...

vue打开新窗口并且实现传参,有图有真相

我要实现的功能是打开一个新窗口用来展示新页面,而且需要传参数,并且参数不能显示在地址栏里面,而且当我刷新页面的时候,传过来的参数不能丢失,要一直存在,除非我手动关闭这个新窗口,即浏览器的标签页。通过面向百度编程,发现网上的根本达不到这个效果,而且还都是坑,明明实现不了,还若有其事的写出来,于是我在标...

vue开发微信小程序 - 登录组件

移动端登录功能抽象为通用组件,满足:不同移动端应用中一键登录功能复用支持多种登录:微信登录、H5、QQ登录登录组件使用//引用登录组件 import login from "../components/user/login.vue" export default { compone...

精品微信小程序在线考试系统+后台管理系统|前后...

《微信小程序在线考试系统+后台管理系统|前后分离VUE》该项目含有源码、论文等资料、配套开发软件、软件安装教程、项目发布教程等本系统包含微信小程序前台和Java做的后台管理系统,该后台采用前后台前后分离的形式使用Java+VUE微信小程序——前台涉及技术:WXML 和 WXSS、JavaScript...

thinkphp8+vue3微信小程序商城,发布公众号App+SAAS+多商户

项目介绍三勾小程序商城基于thinkphp8+vue3+element-ui+uniapp打造的面向开发的小程序商城,方便二次开发或直接使用,可发布到多端,包括微信小程序、微信公众号、QQ小程序、支付宝小程序、字节跳动小程序、百度小程序、android端、ios端。支持主题色+自定义头部导航+自定义...