当前位置: 首页 > news >正文

HTML【详解】超链接 a 标签的四大功能(页面跳转、页内滚动【锚点】、页面刷新、文件下载)

超链接 a 标签主要有以下功能:

跳转到其他页面

 <a href="https://www.baidu.com/" target="_blank" >百度</a>
  • href:目标页面的 url 地址或同网站的其他页面地址,如 detail.html
  • target:打开目标页面的方式
    • _self:在同一个网页中显示(默认值)
    • _blank:在新的窗口中打开【常用】
    • _parent:在父窗口中显示
    • _top:在顶级窗口中显示

锚点 – 页内滚动

回到页面顶部

<a href="#">回到顶部</a>

滚动到指定元素

<a href="#title2">页内滚动到标题2</a>
  • href:# + 指定元素的 id 或 name

在这里插入图片描述

<template><div class="page"><h1>标题1</h1><p>段落1</p><p>段落2</p><h1 id="title2">标题2</h1><div class="menuBox"><a href="#title2">页内滚动到标题2</a></div></div>
</template><style lang="scss" scoped>
.page {height: 2000px;
}
.menuBox {position: fixed;right: 20px;bottom: 20px;
}
</style>

跳转到其他页面并滚动到指定元素

<a href="index.html#menu">打开首页,并滚动到菜单</a>

刷新页面

<a href="">刷新页面</a>
  • href 为空

下载文件

<a href="/user/test/xxxx.txt" download="文件名.txt">点击下载</a>
  • href:目标文件的 url 地址
  • download:指定下载后文件的名称,若无,则使用默认文件名
txt、png、jpg 等浏览器支持直接打开的文件必须添加 download 属性,否则不会执行下载任务,而会直接打开文件。

访问接口,返回文件流进行下载时,也会用到 !

// 根据接口返回的文件流数据 data, 创建 blob 对象
const blob = new Blob([data], { type: headers['content-type'] })
// 生成指向 blob 对象的临时 URL
const downUrl = window.URL.createObjectURL(blob)
// 创建 a 链接
const dom_a = document.createElement('a')
// a 链接的 href 属性为 blob 对象的临时 URL
dom_a.href = downUrl
// a 链接的 download 属性为进行URL解码的 fileName
dom_a.download = decodeURIComponent(fileName)
// a 链接的 display 样式为 none,避免在页面上显示
dom_a.style.display = 'none'
// 将 a 链接添加到 body 标签中
document.body.appendChild(dom_a)
// 点击 a 链接,触发文件的下载
dom_a.click()
// 将 a 链接从父标签(此处为 body )中移除
dom_a.parentNode.removeChild(dom_a)
// 清除指向 blob 对象的临时 URL
window.URL.revokeObjectURL(url)
http://www.lryc.cn/news/395515.html

相关文章:

  • Nginx+Tomcat群集
  • DBA 数据库管理 部署Mysql 服务,基础查询
  • AIGC:构筑创意新时代的神奇力量
  • 前端Din字体和造字工房力黑字体文件
  • Studying-代码随想录训练营day33| 动态规划理论基础、509.斐波那契函数、70.爬楼梯、746.使用最小花费爬楼梯
  • 【康复学习--LeetCode每日一题】724. 寻找数组的中心下标
  • LeetCode-刷题记录-前缀和合集(本篇blog会持续更新哦~)
  • 【中项第三版】系统集成项目管理工程师 | 第 4 章 信息系统架构③ | 4.6
  • 知识图谱入门笔记
  • 常见的气体流量计有哪些?
  • AI推介-大语言模型LLMs论文速览(arXiv方向):2024.07.01-2024.07.05
  • Android IP地址、子网掩码、默认网关、首选DNS服务器、备用DNS服务器校验
  • 铁威马NAS教程丨为什么修复文件系统、为卷扩容、增加及删除 SSD 缓存等操作失败?
  • 【深度学习】第3章——回归模型与求解分析
  • Maven的基本使用
  • 【笔记】finalshell中使用nano编辑器GNU
  • markdown文件转pdf
  • 课设:二手车交易管理系统(Java+MySQL)
  • vue3实现无缝滚动 列表滚动 vue3-seamlessscroll
  • Python酷库之旅-第三方库Pandas(012)
  • SpringCloud集成nacos之jasypt配置中心的密码加密的自动解密
  • Python 中将字典内容保存到 Excel 文件使用详解
  • libaom 编码器 aomenc 使用文档介绍
  • 速盾:cdn 缓存图片
  • 移动应用开发课设——原神小助手文档(2)
  • 智能聊天机器人:使用PyTorch构建多轮对话系统
  • 昇思25天学习打卡营第16天 | 文本解码原理-以MindNLP为例
  • Unity之Text组件换行\n没有实现+动态中英互换
  • vue3+ el-tree 展开和折叠,默认展开第一项
  • ProFormList --复杂数据联动ProFormDependency