热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

重学前端学习笔记(二十四)HTML里的链接元素

笔记说明重学前端是程劭非(winter)【前手机淘宝前端负责人】在极客时间开的一个专栏,每天10分钟,重构你的前端知识体系&

笔记说明

重学前端是程劭非(winter)【前手机淘宝前端负责人】在极客时间开的一个专栏,每天10分钟,重构你的前端知识体系,笔者主要整理学习过程的一些要点笔记以及感悟,完整的可以加入winter的专栏学习【原文有winter的语音】,如有侵权请联系我,邮箱:kaimo313@foxmail.com。

一、介绍

链接是 HTML 中的一种机制,它是 HTML 文档和其它文档或者资源的连接关系。链接两种类型:一种是超链接型标签,一种是外部资源链接。

二、link 标签

2.1、超链接型 link 标签

超链接型 link 标签是一种被动型链接。link 标签具有特定的 rel 属性,会成为特定类型的 link 标签。

1、canonical 型 link

提示页面它的主 URL,在网站中常常有多个 URL 指向同一页面的情况,搜索引擎访问这类页面时会去掉重复的页面,这个 link 会提示搜索引擎保留哪一个 URL。

<link rel&#61;"canonical" href&#61;"...">

2、alternate 型 link

提示页面它的变形形式&#xff0c;就是当前页面内容的不同格式、不同语言或者为不同的设备设计的版本&#xff0c;也可以提供给搜索引擎来使用的。

<link rel&#61;"alternate" href&#61;"...">

典型应用场景&#xff1a;页面提供 rss 订阅时

<link rel&#61;"alternate" type&#61;"application/rss&#43;xml" title&#61;"RSS" href&#61;"...">

3、prev 型 link 和 next 型 link

用来告诉搜索引擎或者浏览器它的前一项和后一项&#xff0c;这有助于页面的批量展示。

4、其它超链接类的 link

  • rel&#61;"author"&#xff1a;链接到本页面的作者&#xff0c;一般是 mailto: 协议
  • rel&#61;"help"&#xff1a;链接到本页面的帮助页
  • rel&#61;"license"&#xff1a;链接到本页面的版权信息页
  • rel&#61;"search"&#xff1a;链接到本页面的搜索页面&#xff08;一般是站内提供搜索时使用&#xff09;

2.2、外部资源类 link 标签

外部资源型 link 标签会被主动下载&#xff0c;并且根据 rel 类型做不同的处理。

1、icon 型 link

唯一一个外部资源类的元信息 link&#xff0c;其它元信息类 link 都是超链接&#xff0c;icon 型 link 中的图标地址默认会被浏览器下载和使用。

注意&#xff1a;多数浏览器会使用域名根目录下的 favicon.ico&#xff0c;即使它并不存在&#xff0c;从性能的角度考虑&#xff0c;建议页面中有 icon 型的 link

2、预处理类 link

预处理类 link 标签就是允许我们控制浏览器&#xff0c;提前针对一些资源去做这些操作&#xff0c;以提高性能&#xff08;乱用性能反而更差&#xff09;。

  • dns-prefetch 型&#xff1a;link 提前对一个域名做 dns 查询
  • preconnect 型&#xff1a;link 提前对一个服务器建立 tcp 连接
  • prefetch 型&#xff1a;link 提前取 href 指定的 url 的内容
  • preload 型&#xff1a;link 提前加载 href 指定的 url
  • prerender 型&#xff1a;link 提前渲染 href 指定的 url

3、modulepreload 型的 link

预先加载一个 Javascript 的模块&#xff0c;这样能保证 JS 模块不必等到执行时才加载。所谓加载&#xff0c;是指完成下载并放入内存&#xff0c;并不会执行对应的 Javascript


<link rel&#61;"modulepreload" href&#61;"app.js">
<link rel&#61;"modulepreload" href&#61;"kaimo.js">

<script type&#61;"module" src&#61;"app.js">

4、stylesheet 型 link

<link rel&#61;"stylesheet" href&#61;"xxx.css" type&#61;"text/css">

5、pingback 型 link

表示本网页被引用时&#xff0c;应该使用的 pingback 地址&#xff0c;这个机制是一份独立的标准&#xff0c;遵守 pingback 协议的网站在引用本页面时&#xff0c;会向这个 pingback url 发送一个消息。

三、a 标签

3.1、有 rel 属性的种类

下面的跟 link 语义完全一致&#xff0c;不同的是&#xff0c;a 标签产生的链接是会实际显示在网页中的&#xff0c;而 link 标签仅仅是元信息。

  • alternate
  • author
  • help
  • license
  • next
  • prev
  • search

3.2、独有的 rel 类型

  • tag&#xff1a;表示本网页所属的标签
  • bookmark&#xff1a;到上级章节的链接·

3.3、辅助的 rel 类型

用于提示浏览器或者搜索引擎做一些处理

  • nofollow&#xff1a;此链接不会被搜索引擎索引
  • noopener&#xff1a;此链接打开的网页无法使用 opener 来获得当前页面的窗口
  • noreferrer&#xff1a;此链接打开的网页无法使用 referrer 来获得当前页面的 url
  • opener&#xff1a;打开的网页可以使用 window.opener 来访问当前页面的 window 对象&#xff0c;这是 a 标签的默认行为。

四、area 标签

与 a 标签非常相似&#xff0c;不同的是&#xff0c;它不是文本型的链接&#xff0c;而是区域型的链接area 是整个 html 规则中唯一支持非矩形热区的标签。

shape 属性支持三种类型

  • 圆形&#xff1a;circle 或者 circ&#xff0c;coords 支持三个值&#xff0c;分别表示中心点的 x,y 坐标和圆形半径 r
  • 矩形&#xff1a;rect 或者 rectangle&#xff0c;coords 支持两个值&#xff0c;分别表示两个对角顶点 x1&#xff0c;y1 和 x2&#xff0c;y2
  • 多边形&#xff1a;poly 或者 polygon&#xff0c;coords 至少包括 6 个值&#xff0c;表示多边形的各个顶点


<p>Please select a shape:<img src&#61;"shapes.png" usemap&#61;"#shapes"alt&#61;"Four shapes are available: a red hollow box, a green circle, a blue triangle, and a yellow four-pointed star."><map name&#61;"shapes"><area shape&#61;rect coords&#61;"50,50,100,100"> <area shape&#61;rect coords&#61;"25,25,125,125" href&#61;"red.html" alt&#61;"Red box."><area shape&#61;circle coords&#61;"200,75,50" href&#61;"green.html" alt&#61;"Green circle."><area shape&#61;poly coords&#61;"325,25,262,125,388,125" href&#61;"blue.html" alt&#61;"Blue triangle."><area shape&#61;poly coords&#61;"450,25,435,60,400,75,435,90,450,125,465,90,500,75,465,60"href&#61;"yellow.html" alt&#61;"Yellow star.">map>
p>

总的来说&#xff1a;a 标签基本解决了在页面中插入文字型整张图片超链接的需要&#xff0c;如果想要在图片的某个区域产生超链接&#xff0c;就要用到area 标签。

个人总结

很多的东西基本没有怎么用到过&#xff0c;提升一下见识面才行。。。

转:https://juejin.im/post/5ceadcc56fb9a07ef819d9bd



推荐阅读
  • 利用Selenium与ChromeDriver实现豆瓣网页全屏截图
    本文介绍了一种使用Selenium和ChromeDriver结合Python代码,轻松实现对豆瓣网站进行完整页面截图的方法。该方法不仅简单易行,而且解决了新版Selenium不再支持PhantomJS的问题。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 随着网络安全威胁的不断演变,电子邮件系统成为攻击者频繁利用的目标。本文详细探讨了电子邮件系统中的常见漏洞及其潜在风险,并提供了专业的防护建议。 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • CentOS系统安装与配置常见问题及解决方案
    本文详细介绍了在CentOS系统安装过程中遇到的常见问题及其解决方案,包括Vi编辑器的操作、图形界面的安装、网络连接故障排除等。通过本文,读者可以更好地理解和解决这些常见问题。 ... [详细]
  • 百度服务再次遭遇技术问题,疑似DNS解析故障
    近日晚间,百度多项在线服务出现加载异常,包括移动端搜索在内的多个功能受到影响。初步迹象表明,问题可能与DNS服务器解析有关。 ... [详细]
  • Babylon.js 实例展示
    探索 Babylon.js 的强大功能,通过全屏演示体验其卓越性能。本文提供在线文档链接和默认渲染管线的源码调试地址,帮助您深入了解 Babylon.js 的工作原理。 ... [详细]
  • 本文详细介绍了网络存储技术的基本概念、分类及应用场景。通过分析直连式存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN)的特点,帮助读者理解不同存储方式的优势与局限性。 ... [详细]
  • yikesnews第11期:微软Office两个0day和一个提权0day
    点击阅读原文可点击链接根据法国大选被黑客干扰,发送了带漏洞的文档Trumps_Attack_on_Syria_English.docx而此漏洞与ESET&FireEy ... [详细]
  • 访问一个网页的全过程
    准备:DHCPUDPIP和以太网启动主机,用一根以太网电缆连接到学校的以太网交换机,交换机又与学校的路由器相连.学校的这台路由器与一个ISP链接,此ISP(Intern ... [详细]
  • 探讨在海外服务器上使用 sudo npm install -g cordova 时遇到的安装失败问题,并提供详细的解决方案和建议。 ... [详细]
  • 本文介绍了一个优化过的JavaScript函数,用于从API获取电影信息并渲染到网页上,同时注册Service Worker以提升用户体验和性能。 ... [详细]
  • 本文档提供了如何使用C#代码从客户订单中提取产品信息的方法,适用于需要处理和分析产品数据的应用场景。 ... [详细]
author-avatar
风流逍遥快活_936
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有