html中的元数据脚本标签

200 阅读4分钟

html中有一类标签,用来存放页面的元数据信息。这类标签可以修改文档其余部分的呈现或行为,建立与其他文档的链接,或者传达其他外带信息。

这样的标签有8个:headtitlemetabaselinkstylescriptnoscript

head:包含其它元数据标签,是其它7个标签的父标签。
title:定义html文档的标题。
meta:表示那些不能由其他元标签表示的元数据信息。它是一个空元素,所以必须有开始标签并且不能有结束标签。
base:指定文档中包含的所有相对 URL 的根 URL,为页面上的所有链接规定默认地址。它也是一个空元素,必须有开始标签并且不能有结束标签。
link:定义文档与外部资源的关系,并链接外部资源。
style:包含文档的样式信息或者文档的部分内容。
script:用于嵌入可执行代码或数据(通常是JavaScript 代码)。
noscript:如果页面上的脚本类型不受支持或者当前在浏览器中关闭了脚本,则在noscript元素中定义脚本未被执行时的替代内容。

其中,headtitlenoscript这3个标签中,除了全局属性外,没有其它属性。另外5个标签的属性如下。

  1. meta

    属性含义备注
    charset声明文档的字符编码。如果存在该属性,则其值必须是字符串 "utf-8" 的不区分 ASCII 大小写的匹配,因为 UTF-8 是 HTML5 文档的唯一有效编码。它必须完全位于文档的前 1024 个字节内utf-8
    content此属性包含 http-equiv 或 name 属性的值(可以理解为键值对的关系)具体取决于所使用的值
    http-equiv定义一个编译指示指令,其所有允许的值都是特定 HTTP 标头的名称content-type、default-style、x-ua-compatible、refresh、content-security-policy
    name和 content 属性一起使用,以名 - 值对的方式给文档提供元数据,其中 name 作为元数据的名称,content 作为元数据的值。在HTML 规范或其它规范中,定义了标准元数据名称。使用这些值时,对应的content属性值也是确定的可供选择的值author、description、generator、keywords、referrer、theme-color、color-scheme、viewport、creator、googlebot、publisher、robots、application-name当name属性的值确定之后,content属性的值有的是自定义的,有的是固定的可选的几个值

这是某网站对meta的使用:

meta.jpg

  1. base

base标签有两个属性href、target。第一个用于文档中相对 URL 地址的基础 URL,允许绝对和相对 URL;第二个会定位到对应的浏览上下文,它的值有:

_self:载入结果到当前浏览上下文中(默认值)。
_blank:载入结果到一个新的未命名的浏览上下文。
_parent:载入结果到父级浏览上下文(如果当前页是内联框)。如果没有父级结构,该选项的行为和_self一样。
_top:载入结果到顶级浏览上下文(该浏览上下文是当前上下文的最顶级上下文)。如果没有父级,该选项的行为和_self 一样。

备注:浏览器会使用指定的基准URL来解析标签中的URL(aimglinkform)。
可以通过使用 document.baseURI 的 JS 脚本查询,如果文档不包含base元素,baseURI 默认为 document.location.href。

  1. link

link标签的属性有:as、crossorigin、disabled、href、hreflang、importance、integrity、media、referrerpolicy、rel、sizes、title、type 13个。常用的属性是:rel、href、type、title、hreflang 5个。

属性含义备注
rel指定被链接文档与当前文档的关系一组无序的、唯一的、用空格隔开的关键字,现行标准的建议有26个,有author、help、icon、stylesheet等。author:当前文档或文章的作者
help:链接到上下文相关的帮助
icon:代表当前文档的图标
stylesheet:导入样式表
href指定被链接资源的URLURL地址
type定义链接的内容的类型像 text/html,text/css 等 MIME 类型最常用的用法是值text/css定义链接的样式表
title属性在link元素上有特殊的语义。当用于<link rel="stylesheet>"时,它定义了一个首选样式表或备用样式表自定义当给link元素添加title属性后,相当于添加了一个默认样式,页面会使用第一个设置了title属性的样式文件
hreflang指明被链接资源的语言各国、地区语言代码缩写仅当设置了href属性时才应设置该属性
  1. style

style标签的属性有:media、nonce、title、type。常用的是type属性,该属性以 MIME 类型(不应该指定字符集)定义样式语言,如果该属性未指定,则默认为text/css。media属性为样式定义媒体类型。

  1. script

script标签的属性有:async、crossorigin、defer、fetchpriority、integrity、nomodule、nonce、referrerpolicy、src、type、blocking 11个。常用的是async、src,前者用来异步并行获取脚本,后者用来定义引用外部脚本的 URI,这可以用来代替直接在文档中嵌入脚本。