面试最爱问的问题 (总结4)
-
8.简述一下你对HTML语义化的理解?
- 用正确的标签做正确的事情。
- html语义化让页面的内容结构化,结构更清晰,便于对浏览器、搜素引擎解析;即使在没有样式css情况下也以一种文档格式显示,并且是容易阅读的;
- 搜索引擎的爬虫也依赖于HTML标记来确定上下文和各个关键字的权重,利于SEO;
- 使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解。
-
9.HTML5的离线储存怎么使用,工作原理能不能解释一下?
- 在用户没有联网时,可以正常访问站点或应用,在用户与网络连接时更新用户机器上的缓存文件。
- 原理:HTML5的离线存储是基于一个新建的,appcache文件的缓存机制(不是存储技术)通过这个文件上的解析清单离线存储资源,这些资源就会像cookie一样被存储了下来,之后当网络在处于离线状态下时,浏览器会通过被离线存储的数据进行页面展示。
- 如何使用:
- 页面头部像下面一样加入一个manifest的属性;
- 在cache.manifest文件的编写离线存储的资源;
- CACHE MANIFEST
#v0.116
CACHE:
js/app.js
css/style.css
NETWORK:
resourse/logo.png
FALLBACK:
/ /offline.html
在离线状态时,操作window.applicationCache进行需求实现
-
10.浏览器是怎么对HTML5的离线储存资源进行管理和加载的呢?
- 在线的情况下,浏览器发现html头部有manifest属性,他会请求manifest文件,如果在线的情况下,浏览器发现HTML头部有manifest属性,它会请求manifest文件,如果是第一次访问app,那么浏览器就会根据manifest文件的内容下载相应的资源并且进行离线存储。如果已经访问过app并且资源已经离线存储了,那么浏览器就会使用离线的资源加载页面,然后浏览器会对比新的manifest文件与旧的manifest文件,如果文件没有发生改变,就不做任何操作,如果文件改变了,那么就会重新下载文件中的资源并进行离线存储。
- 离线的情况下,浏览器就直接使用离线存储的资源