vue跳转外部链接的实现方法
作者:jieyucx
这篇文章主要介绍了vue跳转外部链接的实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
有些时候我们需要从我们的vue项目中跳转到第三方的链接。
坑1不能用路由跳
这时用vue的路由跳转肯定是不行的,因为vue的路由跳转只是自己项目内部的跳转,当要跳转到第三方链接时,比如跳转到百度"www.baidu.com",这已经跳出vue项目了所以不能用路由跳,应该用window.location.href
或者.window.open(a,b) a:外部链接 ,b:打开方式(“_blank”新开一个窗口;“_self”覆盖当前窗口)
方式跳转。
坑2不能直接window.location.href跳
但是当我们用window.location.href
这样直接打开时会出现一个很大的问题:
- “我们打开的外部链接会自动拼接我们的源地址,导致网址链接不正确,无法正常访问”
- 比如:
window.location.href='www.baidu.com'
- 这时跳转过去的地址会是这样的:
http://localhost:8080/#/www.baidu.com
从而导致跳转失败
解决办法1
let url = 'www.baidu.com' // 这里的地址前面就不用加协议了'http:// 或者 https://' 下面一句话就是处理这个的。 let path = window.location.protocol + "//" + url window.location.href = path
封装方法
// 点击方法 url为传入的第三方链接或网址 如'www.baidu.com' url前面不要加协议哦! jumpUrl(url){ let path=window.location.protocol+'//'+url window.location.href=path },
解决办法2
window.open(url, target)
- url : 要跳转的网址 如: http://www.baidu.com
- target: 跳转方式,‘_blank’:在新的窗口打开;‘_self’:在当前页面打开
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。