对于bilibili主页head部分的代码的总结以及疑问。

时间:2022-06-10 10:15:50

1、lang=zh-Hans;

  lang代表languages的意思,VSCode创建出来的网页模板是lang=en,en代表english的意思,zh代表中文,单一的zh是废弃的语法,Hans代表中文简体,中文繁体是Hant。

  (https://www.cnblogs.com/mayicao/articles/lang.html)

2、meta; 

  META标签是HTML标记HEAD区的一个关键标签,提供文档字符集、使用语言、作者等基本信息,以及对关键词和网页等级的设定等,最大的作用是能够做搜索引擎优化(SEO)。

  PS:便于搜索引擎机器人查找、分类,互联网应用应该要注意。

  (http://www.cnblogs.com/moyingliang/p/5748043.html          html meta标签使用总结)

  meta是用来在HTML文档中模拟HTTP协议的响应头报文。meta 标签用于网页的<head>与</head>中,meta 标签的用处很多。meta 的属性有两种:name和http-equiv。name属性主要用于描述网页,对应于content(网页内容),以便于搜索引擎机器人查找、分类(目 前几乎所有的搜索引擎都使用网上机器人自动查找meta值来给网页分类)。这其中最重要的是description(站点在搜索引擎上的描述)和 keywords(分类关键词),所以应该给每页加一个meta值。

  (https://xiaoboss.iteye.com/blog/1165096

  meta标签的作用有:搜索引擎优化(SEO),定义页面使用语言,自动刷新并指向新的页面,实现网页转换时的动态效果,控制页面缓冲,网页定级评价,控制网页显示的窗口等

3、description;(站点在搜索引擎上的描述)

  描述

4、keyword;(分类关键词)

  关键字

5、renderer;

  渲染器;描绘器

6、meta http-equiv="X-UA-compatible"

  X-UA-Compatible是IE8的一个专有<meta>属性,它告诉IE8采用何种IE版本去渲染网页,在html的<head>标签中使用。可以在微软官方文档获取更多介绍。

  为什么要用X-UA-Compatible?

  在IE8刚推出的时候,很多网页由于重构的问题,无法适应较高级的浏览器,所以使用X-UA-Compatible标签强制IE8采用低版本方式渲染。

  使用下面这段代码后,开发者无需考虑网页是否兼容IE8浏览器,只要确保网页在IE6、IE7下的表现就可以了。

  <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

  /emulate 仿真

  给网站添加X-UA-Compatible标签

  我建议使用下面的X-UA-Compatible标签:

  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />

  IE=edge告诉IE使用最新的引擎渲染网页,chrome=1则可以激活Chrome Frame

  (https://zccst.iteye.com/blog/2162187

  使用 X-UA-Compatible 标头可指定页面支持的 Internet Explorer 版本。 使用 document.documentMode 可确定网页的兼容性模式。 

7、baidu-site-verifiaction/360-site-verification

  百度网站验证/360网站验证

 8、script属性

  reportfs——报告书;

  performance——性能;

  timing——计时;

  firstscreenfinish——第一个屏幕完成;

  location——位置;

9、匿名函数的一些小知识

  !function()——匿名函数,匿名函数后面的小括号()是为了让匿名函数立即执行,其实就是一个函数调用;

  说明:

  众所周知,在js中可以这样创建一个匿名函数:

  (function(){do something})();  或  (function(){do something}())

  而匿名函数后面的小括号()是为了让匿名函数立即执行,其实就是一个函数调用,相信大家都懂的!

  那大家有没有想过为什么这么写就会报错了:

  function(){alert(1)}();

  其实很简单,因为function前面没有(或者! ~之类的运算符,js解析器会试图将关键字function解析成函数声明语句,而不是函数定义表达式!

  作为组运算符,小括号()会将其内部的表达式当成一个整体,然后返回结果,所以定义一个匿名函数正确的格式就是用小括号将函数体括起来!

  同样的! ~ + -等运算符也有同样的效果,这是因为匿名函数也是一种值,这些运算符会将后面的函数体当成一个整体,先对匿名函数进行求值,然后在对结果进行运算!

  (https://www.cnblogs.com/xjser/p/5210697.html

  有返回值的情况下会有副作用!

10、一些疑问?

  meta name="renderer" content="webkit" 是浏览器内核的渲染方式吗?

  meta name="spm_prefix" content="333.334"是什么意思?源码中出现了几次spm,但是网上查不到具体的说明

  meta name="baidu-site-verification" content="gbRdPloQBZ" 是百度网站验证,content中的内容是每个浏览器都不同的。B站的网站验证只有百度、360、谷歌三种,其他浏览器呢?如果其他浏览器不需要加也能的话那加这三个岂不是很鸡肋?

  <script>meta charset="utf-8" src=""</script> 和 <script>meta type="text/javascript" src=""</script> 的区别?都是链接,为什么需要一个标明标明编码格式,一个需要标明类型?或者说charset的默认不是utf-8编辑的?type的默认不是text/script编辑的?