Vue关于访问外链失败的问题

 更新时间:2023年03月11日 08:40:08   作者:YaoZhanHui  
这篇文章主要介绍了Vue关于访问外链失败的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Vue访问外链失败

在公司项目中,点击跳转外部链接时,发现跳转失败,但是在浏览器访问可以直接访问,抱着求知欲的目的,查找资料得出一下结果,作为知识储备吧。

军工项目登录跳转到另一个项目的登录中,window.open 可以直接打开百度,但是打不开要跳转的登录页,但是直接在浏览器中可以直接访问,猜想是否是对方对服务做了安全方面的处理或者限制,抱着这方面的考虑查找资料。

一个涉及安全和隐私的https请求头中的字段—referrer,对方项目服务器为了防止别人盗取资源做了限制,一般打开页面会有一个referrer,如果是从其他页面跳转过去,这个referrer会带着原来的页面地址,服务器检测到之后就会限制访问,将其设置为no-referrer就不会带原页面的地址,服务器会认为是直接在浏览器中输入地址打开,就不会限制了。

解决方案:在index.html 中添加 <meta name="referrer" content="no-referrer"/>

什么是 referrer ?

当前页访问跳转到目标页,目标页会在headers中收到 referrer 信息,referrer里面存储的是用户从哪个页面跳转到目标页的信息,也就是说发起请求的时候,请求头中带有从哪个页面来的信息,网站会将引用地址记录以便追踪用户的动态或进行统计,大部分分析软件也都会处理这个信息。一般会从两方面去考虑:隐私和安全。

隐私

referrer 会携带url过去,里面有可能有一些用户数据信息或者敏感信息有可能会暴露出去。

安全

referrer 为了安全考虑不把一些用户信息或者敏感信息暴露出去,我们就要使用 Referrer-Policy来规范 referrer 可以返回什么样的内容

1、通过Referrer-Policy HTTP header设置 Referrer-Policy: origin

2、通过<meta>元素改变Referrer Policy,直接修改名为referrer的内容 <meta name="referrer" content="no-referrer"/>

3、通过给 <a>, <area>, <img>, <iframe>, 或者<link>元素设置referrerpolicy="origin"属性

4、通过给  <a>, <area>, <img>, <iframe>, 或者<link> 元素设置 rel="noreferrer"属性不显示信息

备注: 只有在https协议中,才有referrer的存在。

Vue打开一个外部连接

记录一个开发中不太起眼的bug

在vue项目中,许多跳转api都只是会更改uri,即域名后的地址,一个比较直观的思路是location.href,但直接调用只是会在当前地址下追加一个url,所以正确的做法是

  <el-table-column prop="gaintestMp4" label="步态视频" >
      <template #default="scope">
       <el-button  v-show="scope.row.gaintestMp4" @click="handleMp4(scope.row.gaintestMp4)"></el-button>
       
      </template>
    </el-table-column>
 
 
const handleMp4=(mp4:string):void=>{
  location.href=`http://${mp4}`
  // console.log("🚀 ~ file: backstage.vue:54 ~ handleMp4 ~ mp4", mp4)
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue3的hooks用法总结

    vue3的hooks用法总结

    vue3中的hooks其实是函数的写法,就是将文件的一些单独功能的js代码进行抽离出来,放到单独的js文件中,这篇文章主要介绍了一文掌握vue3中hooks的介绍及用法,需要的朋友可以参考下
    2023-04-04
  • 在vue中使用公共过滤器filter的方法

    在vue中使用公共过滤器filter的方法

    这篇文章主要介绍了在vue中使用公共过滤器filter的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06
  • Vue组件传值异步问题子组件拿到数据较慢解决

    Vue组件传值异步问题子组件拿到数据较慢解决

    这篇文章主要为大家介绍了Vue组件传值异步中子组件拿到数据较慢的问题解决方法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • elementPlus 的el-select在提示框关闭时自动弹出的问题解决

    elementPlus 的el-select在提示框关闭时自动弹出的问题解决

    这篇文章主要介绍了elementPlus 的el-select在提示框关闭时自动弹出闭时自动弹出的问题,主要问题就是因为filterable属性,根本解决方案是选中的时候让他失去焦点 el-select有一个visible-change事件,下拉框出现/隐藏时触发,感兴趣的朋友跟随小编一起看看吧
    2024-01-01
  • vue请求数据的三种方式

    vue请求数据的三种方式

    这篇文章主要介绍了vue请求数据的三种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • 在Vue项目中引入JQuery-ui插件的讲解

    在Vue项目中引入JQuery-ui插件的讲解

    今天小编就为大家分享一篇关于在Vue项目中引入JQuery-ui插件的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • 基于mpvue的小程序项目搭建的步骤

    基于mpvue的小程序项目搭建的步骤

    mpvue 是美团开源的一套语法与vue.js一致的、快速开发小程序的前端框架,这篇文章主要介绍了基于mpvue的小程序项目搭建的步骤,非常具有实用价值,需要的朋友可以参考下
    2018-05-05
  • vue3+element Plus如何实现弹框的拖拽、可点击底层页面功能

    vue3+element Plus如何实现弹框的拖拽、可点击底层页面功能

    这篇文章主要介绍了vue3+element Plus如何实现弹框的拖拽、可点击底层页面功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-11-11
  • Vue实现Header渐隐渐现效果的实例代码

    Vue实现Header渐隐渐现效果的实例代码

    这篇文章主要介绍了Vue实现Header渐隐渐现效果,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • 使用Vue封装一个自定义的右键菜单组件

    使用Vue封装一个自定义的右键菜单组件

    通过自定义右键菜单栏,用户可以根据自己的需求添加、调整和删除菜单选项,所以本文就来为大家介绍一下如何使用使用Vue封装一个自定义的右键菜单组件吧
    2024-01-01

最新评论