1.对浏览器内核的理解?
主要分为两部分:渲染引擎(layout engineer或Rendering Engine)和JS引擎。
- 渲染引擎:负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入CSS等),以及计算网页的显示方式。然后会输出至显示器或打印机。浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不相同。所有的网页浏览器、电子邮件客户端以及其他需要编辑、显示网络内容的应用程序都需要内核。
- JS引擎:解析和执行javascript来实现网页的动态效果。
最开始渲染引擎和js引擎并没有区分的很明确,后来js引擎越来越独立,内核就倾向于只指渲染引擎。
2.常见的浏览器内核有哪些?
- Trident内核:IE,360,搜狗浏览器等;
- Gecko内核:Netscape6及以上版本,FF,MozillaSuite等;
- Presto内核:Opera7以上【Opera内核原为Presto,现为Blink(渲染引擎,属于Webkit)】
- Webkit内核:Safari,Chrome等【Chrome为Blink(Webkit分支)】
详细文章:[浏览器内核的解析和对比](http://www.cnblogs.com/fullhouse/archive/2011/12/19/2293455.html)
3.HTML5有哪些新特性、移除了哪些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分HTML和HTML5?
(1)HTML5现在以及不是SGML的子集,主要是关于图像,位置,存储,多任务等功能的增加。
移除的元素:
- 绘画canvas;
- 用于媒介回放的video和audio元素;
- 本地离线存储localStorage长期存储数据,浏览器关闭后数据不丢失;
- sessionStorage的数据在浏览器关闭后自动删除;
- 语义化更好的内容元素,比如article、footer、header、nav、section;
- 表单控件,calendar、date、time、email、url、search;
- 新的技术webworker,websocket,Geolocation;
- 纯表现的元素:basefont,big,center,font,s,strike,tt,u;
- 对可用性产生负面影响的元素:frame,frameset,noframes;
(2)支持HTML5新标签的方法:
- IE8/IE7/IE6支持通过document.createElement方法产生的标签,可以利用这一特性让这些浏览器支持HTML5新标签,浏览器支持新标签后,还需要添加标签默认的样式。
- 直接使用成熟的框架,如html5shim;
<!--[if lt IE 9]> <script> src="http://html5shim.googlecode.com/svn/trunk/html5.js"</script> <![endif]-->(3)区分HTML5:
扫描二维码关注公众号,回复: 926146 查看本文章
- DOCTYLE声明
- 新增的结构元素/功能元素
4.对HTML语义化的理解?
- 用正确的标签做正确的事情;
- html语义化让页面的内容结构化,结构更清晰,便于对浏览器、搜索引擎解析;
- 即使在没有样式CSS情况下也以一种文档格式显示,并且容易阅读;
- 搜索引擎的爬虫也依赖于HTML标记来确定上下文和各个关键字的权重,利于SEO;
- 使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解。