Skip to content
大纲

HTML

说明

  • <!DOCTYPE>
    • <!DOCTYPE> 声明文档的解析类型 (document.compatMode),避免浏览器的怪异模式,位于HTML文档中的第一行,处于 <html> 标签之前。告知浏览器的解析器用什么文档标准解析这个文档。DOCTYPE 不存在或格式不正确会导致文档以兼容模式呈现。
    • 标准模式的排版和 JS 运作模式都是以该浏览器支持的最高标准运行。在兼容模式中,页面以宽松的向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作。
  • <!DOCTYPE>声明叫做文件类型定义(DTD),声明的作用为了告诉浏览器该文件的类型。让浏览器解析器知道应该用哪个规范来解析文档。<!DOCTYPE>声明必须在 HTML 文档的第一行,这并不是一个 HTML 标签。

HTML5 不基于 SGML,因此不需要对 DTD 进行引用,但是需要 doctype 来规范浏览器的行为(让浏览器按照它们应该的方式来运行)

而 HTML4.01 基于 SGML,所以需要对 DTD 进行引用,才能告知浏览器文档所使用的文档类型。

visibilitychange

当用户在浏览器标签页间切换时,监控当前页面的状态,是否为最上层标签,决定是否开始 or 暂停视频:

js
document.addEventListener('visibilitychange', function () {
  if (document.visibilityState == 'visible') {
    console.log('欢迎回来!')

    //do something

    //继续视频播放
  }
  if (document.visibilityState == 'hidden') {
    console.log('不要走!')

    //do something else

    //暂停视频播放
  }
})

参考

https://github.com/markyun/My-blog/tree/master/Front-end-Developer-Questions/Questions-and-Answers