一、title 标签

<title>Atlassian | Software Development and Collaboration Tools</title>

网页标题

二、Meta 标签

  • name属性存在时,提供文档级元数据,适用于整个页面。
  • http-equiv属性存在时,提供与同名 HTTP 标头所提供的信息等效的信息。
  • chartset属性,给出文档编码的字符编码。

2.1 name

namecontent的组合方式中,name的可选值

2.1.1 HTML 规范中定义的标准元数据名称

name 值

content 值

含义

application-name

正在运行的程序的名称。与<title>标签的区别是,它除了程序名称外,可能还包含文档名、或者状态。一般不建议使用。

author

标注网页的作者

description

关于网站的一段描述信息

generator

vscode

网页的生产工具

keywords

设置网页的关键字,利于 SECO 检索

referrer

可选值

文档发送请求时,控制 http 请求头 referrer 的值。

color-scheme

normal light dark

指定与文档兼容的一种或多种配色方案。

theme-color

指示用户代理应该使用的建议颜色来自定义页面或周围用户界面的显示。

2.1.2 其他规范中定义的标准元数据名称

name 值

content 值

含义

viewport

可选值

提供有关视口初始大小的提示

2.1.3 其他元数据名称

比如WHATWG定义的规范。

WHATWHG 是有苹果、谷歌、微软、Mozilla 组成的联盟,也是 DOM、HTML 的制定者,他们的规范实现往往比 W3C 要更早。WHATWG 简介 ,WHATWG 标准

me 值

content 值

含义

creator

文档创建者的名称,例如组织或机构。

googlebot

Google 的索引爬虫.

publisher

文档发布者的名称.

robots

存在机器人、爬虫行为的页面应该定义这个字段。

2.2 http-equiv

http-equiv 值

content 值

含义

content-security-policy

内容策略主要指定允许的服务器来源和脚本端点,这有助于防止跨站点脚本攻击。

content-type

MIME_type

声明文档的 MIME 类型和字符编码。

default-style

设置默认 CSS 样式表集的名称。

x-ua-compatible

IE=edge,chrome=1

如果指定,则 content 属性必须具有值 “IE=edge”。提示 IE 使用当前版本的最高级标准模式渲染;提示安装 Chrome Frame 插件。详情

refresh

5 url=http://www.zhiqianduan.com

如果 content 只包含一个正整数,则为重新载入页面的时间间隔(秒);

如果 content 包含一个正整数,并且后面跟着字符串 ‘;url=’ 和一个合法的 URL,则是重定向到指定链接的时间间隔(秒)

content-language

de-DE, en-CA

用来说明访问者希望采用的语言或语言组合,这样的话用户就可以根据自己偏好的语言来定制不同的内容。

expires

31 Dec 2021

资源过期时间

window-target

_top

强制页面在当前窗口以独立页面显示, 可以防止别人在 iframe 中调用自己的页面

pragma

no-cache

禁止浏览器从本地计算机的缓存中访问页面的内容

set-cookie

三、link 标签

指定当前文档和外部资源之间的关系。此元素最常用于链接样式表,但也用于建立站点图标(“favicon”样式图标和移动设备上主屏幕和应用程序的图标)等。

3.1 资源加载

样式表

<link href="main.css" rel="stylesheet" />

<!-- 媒体查询 -->
<link href="print.css" rel="stylesheet" media="print" />
<link
  href="mobile.css"
  rel="stylesheet"
  media="screen and (max-width: 600px)"
/>

图标

<link rel="icon" href="favicon.ico" />
<link
  rel="apple-touch-icon-precomposed"
  sizes="114x114"
  href="apple-icon-114.png"
  type="image/png"
/>

字体

<link
  rel="preload"
  href="myFont.woff2"
  as="font"
  type="font/woff2"
  crossorigin="anonymous"
/>

当 rel 的值为preload,资源的加载优先级被提升到最高highest

3.2 ref 的值枚举

能够加载资源的标签,有a,link,area,form,具体的值参考Link types

ref 值

href 值

含义

author

定义指向描述作者或提供联系作者方式的页面的超链接

dns-prefetch

向浏览器提示需要资源,允许浏览器在用户单击链接之前进行 DNS 查找和协议握手。

help

表示超链接指向一个资源,该资源提供有关整个页面的进一步帮助。

icon

定义用于在用户界面中表示页面的资源,通常是一个图标。在浏览器中,它通常被称为网站图标。

license

表示超链接指向描述许可信息的文档。

first、prev、next、last

表示超链接指向当前页面所在序列的加载优先级

manifest

Members 示例

表示链接的文件是 Web App Manifest。PWA 应用会带有这个文件,会标识 name icon 等信息

search

https://developer.mozilla.org//opensearch.xml

stylesheet

CSS 样式表

next

WebTV 支持使用 rel 值 next 来预加载文档系列中的下一页。

表示超链接指向当前页面所在序列的下一个资源。

prefetch

建议浏览器提前获取链接的资源,因为它很可能是用户请求的。

preload

告诉浏览器下载资源,因为稍后在当前导航期间将需要此资源。

search

表示超链接引用了一个文档,该文档的界面是专门为在该文档或站点及其资源中搜索而设计的。

tag

表示超链接指的是描述适用于该文档的标签的文档。

3.3 其它常用属性

四、现有的插件库

4.1 单个节点文档解析

htmlparser2

  • 按照标签开闭的原则解析
  • 没有节点上下文的关系,需要根据进栈、出栈去判断父节点、子节点

4.2 AST 语法树

parse5

  • 完整的 DOM 树,
  • 每个节点有标明属性、父节点、子节点等
  • 支持解析、序列化

html-parse-stringify

  • 支持解析、序列化接口

4.3 带有 DOM 查询能力

node-html-parser

  • 返回值为 HTMLElement
  • 简单的 DOM 属性、查询接口

cheerio

  • 返回值为 CheerioAPI。
  • 带有类似 JQuery 的操作接口

4.4 带有执行、渲染能力

jsdom

jsdom是一个纯 javascript 库,实现了许多 WEB 标准,尤其是WHATWG的 DOM、HTML 标准。

  • 返回值为 JSDOM。
  • 模拟浏览器渲染,执行 stylesheet、script
  • 支持 DOM 操作接口

puppeteer

Google 提供的一个 JS 库,可以操控 Chrome 内核