Vue 路由如何跳转到外部链接?教你区分内部跳转与外部跳转的写法

秋磊吖_4822

秋磊吖_4822

2026-04-11

670人浏览

原创

vue路由无法直接跳转外部链接,必须用原生方式:当前页用window.location.href,新标签页推荐window.open(url, '_blank', 'noopener,noreferrer'),模板中用标签并添加rel="noopener noreferrer"。

vue 路由如何跳转到外部链接?教你区分内部跳转与外部跳转的写法

Vue 路由(vue-router)本身只负责管理应用内部的路由跳转,不能直接用 router.push() 打开外部链接。想跳转到外部网站(比如 https://example.com),必须绕过 vue-router,使用原生浏览器能力。

内部跳转:用 router.push()

适用于跳转到本应用内的页面,如 `/home`、 `/user/123`:

  • 编程式跳转:this.$router.push('/about')(Vue 2)或 router.push('/about')(Vue 3 Composition API)
  • 声明式跳转:<router-link to="/about">关于</router-link>
  • 支持对象写法:router.push({ name: 'UserProfile', params: { id: '123' } })

外部跳转:不能用 router.push(),要用原生方式

以下任一方法都可打开新标签页或当前页跳转到外部 URL:

Ainative Vue Sdk
Ainative Vue Sdk

使用 `@ainative/vue-sdk` 为 Vue 3 应用添加 AI 聊天功能。适用于以下场景:(1) 安装 `@ainative/vue-sdk`,(2) 在 Vue 组件中使用 `useChat` 组合式函数,(3) 提供……

下载
  • 当前页跳转:window.location.href = 'https://example.com'
  • 新标签页打开:window.open('https://example.com', '_blank')
  • 带安全策略的新窗口(推荐):window.open('https://example.com', '_blank', 'noopener,noreferrer')(防止新页面通过 window.opener 访问原页面)
  • 在模板中直接写链接:@#@#@#@#@#@#@#@#@#@0

常见误区与注意事项

这些写法看似能用,但实际有问题:

  • ❌ router.push('https://example.com') —— vue-router 会把它当作一个内部路径处理,最终跳转到 /https://example.com,404
  • ❌ <router-link to="https://example.com"></router-link> —— 同样被识别为相对路径,且不触发外部跳转
  • ✅ 外链建议加 rel="noopener noreferrer",避免安全风险和性能影响
  • ✅ 如果是用户生成内容中的外链,务必校验协议(只允许 http:// 和 https://),防止 javascript: 注入

封装一个安全的外链跳转函数(可选)

便于复用和统一控制:

function openExternal(url) {
  if (!url.startsWith('http://') && !url.startsWith('https://')) {
    console.warn('非安全协议,拒绝跳转:', url)
    return
  }
  window.open(url, '_blank', 'noopener,noreferrer')
}

调用:openExternal('https://vuejs.org')

前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!

相关文章

路由优化大师
路由优化大师

路由优化大师是一款及简单的路由器设置管理软件,其主要功能是一键设置优化路由、屏广告、防蹭网、路由器全面检测及高级设置等,有需要的小伙伴快来保存下载体验吧!

下载

相关标签:

vue 路由

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2563

5

前端如何实现即时通讯
前端如何实现即时通讯

实现即时通讯的方法有WebSocket、Long Polling、Server-Sent Events、WebRTC等等。详细介绍:1、WebSocket,它可以在客户端和服务器之间建立持久连接,实现实时的双向通信,前端可以使用 WebSocket API来创建WebSocket连接,并通过发送和接收消息来实现即时通讯;2、Long Polling,是一种模拟实时通信的技术等等。

2023.10.09

5543

6

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

6570

13

php和前端的关联介绍
php和前端的关联介绍

php既可以作为前端语言,也可以作为后端语言。想了解更多php和前端的相关内容,可以阅读本专题下面的文章。

2024.03.22

6218

10

前端外包工作内容有哪些
前端外包工作内容有哪些

前端外包工作内容包括:1. 网站和应用程序开发;2. 用户界面和交互设计;3. 用户体验优化;4. 设计和视觉开发;5. 跨浏览器兼容性;6. 性能优化;7. 维护和更新;8. 项目管理和沟通。想了解更多前端的相关内容,可以阅读本专题下面的文章。

2024.05.22

883

5

OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

2026.10.16

100

10

OpenJDK怎么配置Java开发环境
OpenJDK怎么配置Java开发环境

怎样用OpenJDK搭建开发环境?本专题介绍版本选择、下载安装、环境变量配置和编译运行验证,帮助你理清JDK的作用及基本配置流程,并通过简单程序检查环境是否可用,为后续项目开发做好准备。

2026.10.16

60

10

OpenJDK怎么部署Java应用
OpenJDK怎么部署Java应用

Java项目开发完成后,怎样部署到目标环境并正常运行?本专题介绍OpenJDK应用部署流程,涵盖运行环境准备、版本兼容检查、应用打包、启动参数配置和日志查看,帮助你理清部署前后的操作顺序,减少环境差异造成的运行问题。

2026.10.16

40

10

Revel框架模板渲染与表单验证
Revel框架模板渲染与表单验证

本专题围绕Revel框架视图层开发,介绍模板语法、变量输出、布局复用、表单提交、参数绑定与验证规则,帮助开发者完成安全规范的页面交互。

2026.10.16

40

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
uni-app快速上手
uni-app快速上手

共0课时 | 0人学习

Vue 教程
Vue 教程

共42课时 | 17.2万人学习

Vue3.x 工具篇--十天技能课堂
Vue3.x 工具篇--十天技能课堂

共26课时 | 2.5万人学习