HTML/HTML5

1.知道语义化吗?说说你理解的语义化,如果是你,平时会怎么做来保证语义化?

  • 像html5的新的标签header,footer,section等就是语义化
  • 一方面,语义化就是让计算机能够快读的读懂内容,高效的处理信息,可以对搜索引擎更友好
  • 另一方面,便于与他人的协作,他人通过读代码就可以理解你网页标签的意义
  • 去掉或者丢失样式的时候能够让页面呈现出清晰的结构
  • 有利于SEO:和搜索引擎建立良好沟通,有助于爬虫抓取更多有效信息:爬虫依赖于标签来确定上下文和各个关键字的权重
  • 方便其他设备解析(如屏幕阅读器、盲人阅读器、移动设备)以意义方式来渲染网页
  • 便于团队开发和维护,语义化更具有可读性,是下一步把网页的重要动向,遵循W3C标准的团队都要遵循这个标准,减少差异化
 

2.介绍HTML5的新特性

  • 新的DOCTYPE声明<!DOCTYPE html>
  • 完全支持css3
  • video和audio
  • 本地存储
  • 语义化表圈
  • canvas
  • 新事件如 ondrag onresize

3.如果解决ajax无法后退的问题?

  • html5里引入了新的API,即:history.pushState,history.replaceState
  • 可以通过pushState和replaceSate接口浏览器历史,并且改变当前页面的URL
  • onpopstate监听后退

 

4.websocket和ajax轮询

  • websocket是html5中提出的新的协议,可以实现客户端与服务器的通信,实现服务器的推送功能
  • 优点是,只要简历一次连接,就可以连续不断的得到服务器推送消息,节省带宽和服务器端的压力。
  • ajax轮询模拟常连接就是每隔一段时间(0.5s)就向服务器发起ajax请求,查询服务器是否有数据更新
  • 缺点就是,每次都要建立HTTP连接,即使需要传输的数据非常少,浪费带宽

 

5.web worker和websocket

  worker主线程:
  • 通过worker = new worker(url)加载一个js文件来创建一个worker,同时返回一个worker实例
  • 通过worker.postMessage(data)方法来向worker发送数据。
  • 绑定worker.onmessage方法来接收worder发送过来的数据
  • 可以使用worker.terminate()来终止一个worder的执行。
 
  websocket
  • 是web应用程序的传输协议,它提供了双向的,按序到达的数据流。他是一个HTML5协议,websocket链接是持久的,通过在客户端和服务器之间保持双向链接,服务器的更新可以被及时推送给客户端,而不需要客户端以一定的时间去轮询

 

6.Doctype作用?严格模式与混杂模式如果区分?意义?

  • <!DOCTYPE>声明位于文档的最前面,处于标签之前。告知浏览器以何种模式来渲染文档
  • 严格模式的排版和js运作模式是 以该浏览器支持的最高标准运行
  • 在混杂模式中,页面已宽松的向后兼容的方式显示。模拟老式浏览器的行为以防止站点无法工作
  • DOCTYPE不存在或格式不正确会导致文档以混杂模式呈现

 

7.Doctype多少种文档类型?

  • 该标签可声明三种DTD类型,分别表示严格版本、过渡版本以及基于框架的HTML文档
  • HTML4.01规定了三种文档类型:Strict, Transitional以及Frameset
  • XHTML 1.0规定了三种XML文档类型:Strict, Transitional以及Franmeset
  • Standards(标准)模式(也就是严格呈现模式)用于呈现遵循最新标签的网页,而Quirks(包容)模式(也就是松散呈现模式或者兼容模式)用于呈现为传统浏览器而设计的网页

 

8.HTML与XHTML,有什么区别?

  • 所有的标签必须要有一个相应的结束标签
  • 所有标签的元素和属性的名字都必须使用小写
  • 所有的XML标记都必须合理嵌套
  • 所有的属性必须引号“”括起来
  • 把所有的<和&特殊符号用编码表示
  • 给所有属性赋一个值
  • 不要在注释内容使用'--'
  • 图片必须要有说明文字
posted on 2020-08-17 09:11  颉旺飞  阅读(108)  评论(0编辑  收藏  举报