链接(hyperlink)是互联网的核心,它允许用户在页面上,从一个网址跳转到另一个网址,从而把所有资源联系在一起。 URL是链接指向的地址。链接不仅可以指向另一个网页,也可以指向文本、图像和文件等资源。所有互联网上的资源,都可以通过链接访问。
1、<a>
a标签定义一个超级链接,浏览器跳转到href属性指定的网址。 a标签有如下属性:
- href:给出链接指向的网址,值为URL或锚点。
- hreflang:给出链接指向的网址所使用的语言。
- title:给出链接的说明信息。
- target:指定如何展示打开的链接:_self/_blank/_parent/_top
- rel:说明链接与当前页面的关系:alternate/author/bookmark/external/help/license/next/nofollow/noreferrer/noopener/prev/search/tag
- referrerpolicy:用于精确设定点击链接时,浏览器发送HTTP头信息的Referer字段的行为。
- ping:指定一个网址,用户点击时,向该网址发出一个POST请求,用于跟踪用户的行为。
- type:给出链接URL的MIME类型,比如到底是网页、图像还是文件。
- download:表明当前链接用于下载,而不是跳转到另一个URL。
2、邮件链接
链接也可以指向一个邮件地址,使用mailto协议。点击后浏览器打开本机默认邮件程序,让用户向指定的地址发送邮件。
<a href="mailto:contact@example.com">联系我们</a>
邮件协议允许指定其他几个邮件要素:
- subject:主题
- cc:抄送
- bcc:密送
- body:邮件内容 使用方法为将这些邮件要素,以查询字符串的方式附加在邮箱地址后面。
<a
href="mailto:foo@bar.com?cc=test@test.com&subject=The%20subject&body=The%20body"
>发送邮件</a>
3、电话链接
手机浏览的页面,可以使用tel协议,创建电话链接。
<a href="tel:13312345678">13312345678</a>
4、<link>
4.1基本用法
link标签用于将当前网页与相关的外部资源联系起来,通常放在head标签里面,常见用途为加载CSS样式表,加载网站的favicon图标文件,提供文档的相关链接。
4.2rel属性
rel属性是外部资源与当前文档之间的关系,是link标签的必须属性。属性值包括以下:alternate/author/dns-prefetch/help/icon/license/next/pingback/preconnect/prefetch/preload/prerender/prev/search/stylesheet
4.3资源的预加载
浏览器预加载某些资源,将资源缓存,等到使用的时候,不需从网上下载,能立即使用,预处理指令可以解决上述问题。
预加载的五种类型:
1.<link rel="preload">
告诉浏览器尽快下载并缓存资源(javascript或css),该指令优先级高,浏览器必执行,缓存资源后不执行,当需要时立即可用。
as属性指定加载资源的类型:script/style/image/media/document。
type属性明确MIME类型。
onload指定回调函数,在脚本下载完成后执行,立即插入页面。
<link rel="preload" as="style" href="async_style.css" onload="this.rel='stylesheet'">
2.<link rel="prefetch">
使用场合为后续页面需要某个资源,并且希望预加载该资源,以便加速页面渲染。
3.<link rel="preconnect">
要求浏览器提前与某个域名建立TCP连接。
4.<link rel="dns-prefetch">
要求浏览器提前执行某个域名的DNS解析。
5.<link rel="prerender">
要求浏览器加载某个网页,并且提前渲染它。
4.4media属性
media属性给出外部资源生效的媒介条件。例如判断屏幕宽度或者是否打印。
4.5其他属性
crossorigin/href/referrerpolicy/as/type/title/sizes
5、<script>
script标签用于加载脚本代码,即JavaScript代码。 script标签加载外部脚本,src属性给出外部脚本地址。 type属性默认JavaScript代码,也可以设置成module,表示ES6模块。 其他属性:async/defer/crossorigin/integrity/nonce/referrerpolicy
6、<noscript>
noscript标签用于浏览器不支持或关闭JavaScript时所要显示的内容。目的是节省带宽,延长手机电池寿命,或者防止追踪,保护隐私。