超链接与多媒体
超链接与多媒体是互联网之所以成为“网”的基石——超链接a让页面互相连接多媒体img/video/audio让内容鲜活起来。但在Vue 3 Vite环境下这两类标签的写法会迎来巨大的割裂“跳转”和“资源加载路径”的处理方式跟纯静态HTML有天壤之别。我把它们拆成“原生铁律”和“Vue/Vite 实战改造”两大块特别是路径问题这是新手 100% 会踩的坑。1. 超链接a连接万物的“血管”1原生 HTML 铁律href跳转目标URL、锚点#top、邮箱mailto:、电话tel:。target_blank在新标签页打开。relnoopener必须搭配target_blank使用否则新页面可以通过window.opener操控你的原页面存在安全风险。!-- 原生安全写法 -- a hrefhttps://example.com target_blank relnoopener noreferrer外部链接/a !-- 锚点跳转页面内滚动 -- a href#section2跳转到第二节/a2Vue 3 实战a与RouterLink的决裂这是 Vue 新手最大的误区。在 Vue 单页应用SPA中外部链接如跳去百度、B站依然用原生a加target_blank和rel。内部页面跳转如从首页跳去 /about绝对不要用a href/about因为href会触发浏览器硬刷新导致 Vue 状态丢失、页面闪白。必须使用 Vue Router 提供的RouterLink组件。template !-- 1. 站外跳转用原生 a 标签 -- a hrefhttps://www.baidu.com target_blank relnoopener去百度/a !-- 2. 站内跳转用 RouterLink不刷新页面 -- RouterLink to/about关于我们/RouterLink !-- 带参数的跳转 -- RouterLink :to{ name: user, params: { id: 123 } }用户详情/RouterLink !-- 3. 代替锚点滚动不用 a href#top用 click 操作 DOM -- button clickscrollToTop回到顶部/button /template script setup langts // Vue 中锚点滚动建议用原生 JS不依赖 a const scrollToTop () { window.scrollTo({ top: 0, behavior: smooth }); }; /script2. 图像img最常用的多媒体1原生 HTML 铁律src图片地址。alt这是无障碍的灵魂图片加载失败时显示文字屏幕阅读器也会朗读它。绝对不能省。loadinglazy原生懒加载让首屏速度起飞。img srcphoto.jpg alt描述图片内容的文字 loadinglazy /2Vue 3 Vite 中的“路径生死劫”重点在 Vite 项目中图片放在/public和/src/assets里写法完全不同存放位置引用方式示例代码原理/public绝对路径根路径img src/logo.png altLogoVite 在构建时完全不处理直接复制到 dist 根目录。适合永远不会变名的文件如 favicon。/src/assets必须import或new URL见下方代码块Vite 会基于哈希值重新命名文件如logo.a1b2c.png并优化。绝对不能用字符串写死路径正确的 Vue 3 TS 写法针对/src/assetstemplate !-- 方式一静态 import最推荐TS 类型提示友好 -- img :srclogoImg alt网站Logo / !-- 方式二动态图片根据条件渲染不同图 -- img :srcgetImageUrl(avatar) alt头像 / !-- 方式三v-for 循环渲染图片列表 -- img v-foritem in imageList :keyitem.id :srcitem.url :altitem.name / /template script setup langts // 方式一直接导入Vite 会返回处理后的最终路径字符串 import logoImg from /assets/logo.png; // 方式二动态导入适用于文件名不确定的场景 const getImageUrl (name: string) { // 注意Vite 中必须使用 new URL import.meta.url 才能让 Vite 在构建时发现这些图片 return new URL(../assets/images/${name}.png, import.meta.url).href; }; // 方式三后端返回的图片 URL 列表直接 :src 绑定即可无需处理 const imageList reactive([ { id: 1, name: 封面图, url: https://api.example.com/cover.jpg } ]); /script致命错误预警绝对不要写img src/assets/logo.png浏览器根本不知道是什么鬼直接报 404。3. 视频video与音频audio1原生 HTML 铁律controls显示播放/暂停/音量等原生控件必须加否则用户无法操控。poster视频封面图视频加载前展示。autoplay自动播放现代浏览器大多禁止带声音的自动播放需要配合muted。source提供多种格式视频浏览器选第一个能播的。video controls postercover.jpg width600 source srcmovie.mp4 typevideo/mp4 source srcmovie.webm typevideo/webm 您的浏览器不支持视频播放。 !-- 降级提示 -- /video2Vue 3 实战借助ref实现程序化控制在 Vue 中除了绑定动态src你经常需要点击按钮控制播放/暂停。这时要用模板引用ref直接操作原生 DOM 方法。template !-- 绑定动态视频地址 -- video refvideoRef :srcvideoSrc controls poster/poster.jpg/video button clickplayVideo播放/button button clickpauseVideo暂停/button /template script setup langts import { ref } from vue; // 1. 模板引用名称必须与 template 中的 ref 一致 const videoRef refHTMLVideoElement | null(null); const videoSrc ref(https://example.com/sample.mp4); // 2. 调用原生 API const playVideo () { videoRef.value?.play(); // ?. 是 TS 可选链防止 videoRef 为空报错 }; const pauseVideo () { videoRef.value?.pause(); }; /script音频audio用法与视频完全一致只是没有画面。在 Vue 中做背景音乐、通知提示音同样用ref操控play()和pause()。4. 嵌入式内容iframe嵌入第三方页面用于嵌入地图、B站视频、第三方网页。template !-- 原生写法宽高、允许全屏 -- iframe srchttps://www.bilibili.com/.../player.html width800 height450 allowfullscreen loadinglazy titleB站视频标题 !-- 无障碍必备 -- /iframe /template5. Vue 3 Vite 终极避坑清单总结场景错误的直觉正确的做法站内跳转a href/aboutRouterLink to/about加载/src/assets图片img src/assets/img.pngimport img from /assets/img.png:srcimg动态图片路径:src/assets/${name}.pngnew URL(../assets/${name}.png, import.meta.url).href视频/音频自动播放加autoplay就行必须加muted否则 Chrome 会拦截target_blank直接写不管必须加relnoopener noreferrer安全漏洞图片忘了写alt无所谓能看见不行SEO 和无障碍直接扣分写上alt纯装饰图也行。6. 给初学者的“感性认知”超链接是让用户“走”出去的通道。在 Vue 里站内走 RouterLink不刷新站外走a新窗口。图片/视频是让内容“流”进来的资源。在 Vite 里资源路径不再是简单的字符串而是经过构建工具处理的“模块”。如果你接下来想学Vue Router 的编程式导航router.push()或者Vite 中如何给图片做压缩/转 WebP 优化可以直接告诉我我继续往下拆。

相关新闻

Filebeat课程

Filebeat课程

一、FileBeat 基础概述1. 定位与作用Filebeat 是 Elastic 官方推出的轻量级日志采集器,基于 Go 语言开发,无 Java 依赖、资源占用极低,专门用于采集本地文件日志,常作为 ELK/EFK 架构的日志输入端。核心定位:日志轻采集…

2026/7/21 20:16:08 阅读更多 →
素数计数函数误差建模与收敛分析:数据科学介入数论的实践范式

素数计数函数误差建模与收敛分析:数据科学介入数论的实践范式

1. 项目概述:这不是“破解素数密码”,而是用数据科学重新丈量数学的边界 “Original Research to Predict Prime Numbers — Error Convergence Using Data Science”——这个标题一上来就带着一股不容忽视的张力。它没说“发现新公式”,也没…

2026/7/21 14:45:23 阅读更多 →
鸿蒙 ArkTS 实战:QR Business Card 从系统能力到状态管理完整解析

鸿蒙 ArkTS 实战:QR Business Card 从系统能力到状态管理完整解析

鸿蒙 ArkTS 实战:QR Business Card 从系统能力到状态管理完整解析 前言 QR Business Card 是一个面向 二维码名片 的鸿蒙 ArkTS 单页工具。项目通过记录列表、统计卡片、权限开关和状态切换,把系统能力相关场景整理成可操作的移动端页面。 它服务于 管…

2026/7/21 19:51:24 阅读更多 →

最新新闻

107、影像算法落地工程化:从原型到量产的关键挑战

107、影像算法落地工程化:从原型到量产的关键挑战

107、影像算法落地工程化:从原型到量产的关键挑战 去年夏天,我在产线盯一个车载环视拼接算法的量产导入。算法在开发板上跑得稳稳当当,帧率30fps,拼接缝平滑,畸变校正干净。结果到了产线,第一台机器点亮屏幕,画面直接裂成了四块——左摄像头画面延迟了整整两帧,右摄像头…

2026/7/23 14:55:08 阅读更多 →
Kimi Coding Plan实战指南:从环境配置到批量任务优化

Kimi Coding Plan实战指南:从环境配置到批量任务优化

这类工具最值得先看的不是功能列表,而是能不能在普通环境里稳定跑起来。Kimi 这类 AI 工具最近讨论很多,尤其是它的 Coding Plan 和算力分配问题。如果你正在考虑用它辅助编程、处理长文本或者对接 API,最该关心的不是它有多少功能&#xff0…

2026/7/23 14:55:08 阅读更多 →
Seedance2.0:生成式AI的确定性革命与工程实践

Seedance2.0:生成式AI的确定性革命与工程实践

1. 项目概述:Seedance2.0的颠覆性价值第一次听说Seedance2.0是在一个技术闭门会上,某大厂算法负责人用"AI领域的蒸汽机革命"来形容它。这个比喻让我立刻来了兴趣——毕竟在AI模型同质化严重的今天,能被称为"降维打击"的技…

2026/7/23 14:55:08 阅读更多 →
随机数指纹技术:AI模型完整性验证与防篡改实践

随机数指纹技术:AI模型完整性验证与防篡改实践

这次我们来看一个很有意思的技术话题:如何用随机数指纹识别AI模型是否被调包。在AI模型部署和使用的过程中,模型完整性验证是个容易被忽视但至关重要的环节。 当你从开源社区下载一个预训练模型,或者从第三方获取模型文件时,如何…

2026/7/23 14:55:08 阅读更多 →
Meta战略转型:AI算力租赁如何重塑行业格局

Meta战略转型:AI算力租赁如何重塑行业格局

1. 项目背景:Meta战略转型引发的行业地震 2023年Q4季度,Meta突然宣布重大战略调整:将逐步缩减自研大模型投入,转向为AI企业提供云计算基础设施租赁服务。这一决策直接导致其股价单日暴跌18%,连带拖累英伟达、AMD等芯片…

2026/7/23 14:55:08 阅读更多 →
ICLR2026 | 视频虚化新突破!Any-to-Bokeh 一键生成电影感连贯效果

ICLR2026 | 视频虚化新突破!Any-to-Bokeh 一键生成电影感连贯效果

ICLR2026 | 视频虚化新突破!Any-to-Bokeh 一键生成电影感连贯效果 引言:从静态图像到动态视频的虚化革命视频虚化(Bokeh)是电影制作中不可或缺的艺术手法,它通过模糊背景来突出主体,营造出梦幻般的视觉体验…

2026/7/23 14:54:08 阅读更多 →

日新闻

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:25 阅读更多 →
AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

更多请点击: https://codechina.net 第一章:AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析 在对2,346篇跨行业AI生成文案的A/B测试数据进行聚类分析后,我们发现&#xff1…

2026/7/23 0:01:26 阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:01:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 19:43:43 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/22 12:54:44 阅读更多 →

月新闻