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

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

时间:2024-07-06 10:01:09浏览次数:21  
标签:dom URL blob href 锚点 跳转 链接 页面

超链接 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)

标签:dom,URL,blob,href,锚点,跳转,链接,页面
From: https://blog.csdn.net/weixin_41192489/article/details/140217094

相关文章

  • 小红薯私域引流新策略:一键跳转卡片制作与详情指南!
    小红薯私域引流新策略:一键跳转卡片制作与详情指南!大家好,今天要介绍的是一款牛啵一的小红薯跳转卡片。https://mp.weixin.qq.com/s?__biz=Mzk0MTY0NjA2Mg==&mid=2247485260&idx=1&sn=281edce48cc6193a6e46769618c9f9fd&chksm=c2ce0ecdf5b987dba3c09d383ed19fa6bf566f21416546......
  • RuoYi-Cloudv3.6.4使用教程【2】新增子模块_使用代码生成功能,创建功能页面
    目录准备工作修改代码生成的配置信息ry-cloud中创建表代码生成使用导入对应表代码生成代码放置菜单启动新增模块创建数据库创建表创建配置文件_新增的模块新增logback.xml新增banner添加路由启动项目✨接新增子模块,让子模块运行起来,还没创建模块的移步这里:RuoYi-Cl......
  • 【微信小程序】页面生命周期onShow,onLoad,onReady的差别
    1.触发时机和条件onLoad:触发时机:页面加载时触发,即当页面被创建并准备加载时。触发条件:首次打开页面时调用,之后页面再次打开(如通过页面跳转返回)则不会再次触发。作用:通常用于页面的数据初始化,如从服务器获取数据、设置页面的初始状态等。onShow:触发时机:页面显示时触发,......
  • 从 URL 到页面:浏览器加载过程的详细解析
    当你在浏览器中输入一个URL并按下回车键,直到页面内容显示在屏幕上,这个过程中发生了许多步骤。以下是一个详细的分解,解释从输入URL到看到内容之间的整个过程:1.用户输入URL用户在浏览器地址栏中输入URL(例如 https://www.example.com)并按下回车键。2.浏览器解析URL浏......
  • 前端页面自动渲染AE动画方案
    登录页面设计师做了很酷炫的动画效果,想到的三种实现方式:1、导出GIF图给前端渲染2、导出视频给前端渲染3、导出动画的每一帧图片给前端序列合成动画后来这三种方式因显示效果不好,体积大或者实现复杂等原因被否定了。调研经调研发现Lottie是可应用于Android,iOS,Web和......
  • 使用 Tampermonkey 在页面加载完5秒后监听特定页面元素的点击事件并修改 API 返回的数
    示例 //==UserScript==//@nameNewUserscript//@namespacehttp://tampermonkey.net///@version2024-07-04//@descriptiontrytotakeovertheworld!//@authorYou//@matchhttps://a.x.com/*//@iconhttps://www.......
  • next.js 利用中间件(middleware.ts)实现PC与移动互相丝滑跳转
    场景描述产品要求开发一个落地页,为了美观,他要求这个两个页面分开设计,PC页面路由是`/landingpage`,移动端页面是`/landingpage/mobile`从用户角度出发,现在有一种访问场景,假如用户A正在访问PC页面`/landingpage`,然后他要把这个页面以微信方式分享给用户B,用户通过手机方式打开,那这个......
  • Selenium+ChromeDriver获取页面数据
    一个业务需求是从一个网站上抓取客户的评论信息,评论数据已经渲染好在html上由接口返回的,只能从HTML上一个个扣数据。一开始是使用的HtmlUnit来处理,但期间一直抛出拒绝访问提示但是从浏览器可以直接访问,我就换别的网站进行访问,别的网站能够正常抓取数据,期间也试过设置请求头,直到在......
  • Jetpack Compose 页面路由功能
    JetpackCompose页面路由功能JetpackCompose通过其Navigation库提供了对页面(或称为屏幕)之间导航的支持。这个库是基于Jetpack库中的Navigation组件专门针对Compose进行的扩展,使得在使用Compose构建应用时,能够以声明式的方式处理应用内的导航逻辑。JetpackComposeNavigation......
  • 混合开发H5页面的数字字体在IOS 安卓上显示不一样
    背景做完H5页面,UI走查的时候,发现IOS下数字的字体不对,安卓下是正常的,于是就查了下原因,以此做个记录看下实际效果左边是安卓,右边是IOS的效果,明显看出来数字的字体是不一样的安卓、IOS字体不一致的原因在安卓、IOS系统中,如果没有专门设置字体的话,会使用默认的字体,汉字,英文......