1.HTML5中我们如何实现应用缓存?
首先我们需要指定”manifest”文件,“manifest”文件帮助你定义你的缓存如何工作。以下是”mainfest”文件的结构
所有manifest文件都以“CACHE MANIFEST”语句开始.
#(散列标签)有助于提供缓存文件的版本.
CACHE命令指出哪些文件需要被缓存.
Mainfest文件的内容类型应是“text/cache-manifest”.
2.以下是如何在ASP.NET C#使用manifest缓存
创建一个缓存manifest文件以后,接下来的事情实在HTML页面中提供mainfest连接,如下所示:
当以上文件第一次运行,他会添加到浏览器应用缓存中,在服务器宕机时,页面从应用缓存中获取。
3.我们如何使用WebSQL?
第一步我们需要做的是使用如下所示的“OpenDatabase”方法打开数据库,第一个参数是数据库的名字,接下来是版本,然后是简单原文标题,最后是数据库大小;
为了执行SQL,我们需要使用“transaction”方法,并调用”executeSql”方法来使用SQL
万一你要使用“select”查询你会得到数据”result”集合,我们可以通过循环展示到HTML的用户界面
4.什么是事务存储?我们如何创建一个事务存储?
会话存储和本地存储类似,但是数据在会话中有效,简而言之数据在你关闭浏览器的时候就被删除了。
为了创建一个会话存储你需要使用“sessionStorage.variablename.”在以下的代码我们创建了一个名为”clickcount”的变量;
如果你刷新浏览器则数目增加,但是如果你关闭浏览器,“clickcount”变量又会从0开始。
5.本地存储和cookies(储存在用户本地终端上的数据)之间的区别是什么?
CookiesLocalstorage
客户端/服务端客户端和服务端都能访问数据。Cookie的数据通过每一个请求发送到服务端只有本地浏览器端可访问数据,服务器不能访问本地存储直到故意通过POST或者GET的通道发送到服务器
大小每个cookie有4095byte每个域5MB
过期Cookies有有效期,所以在过期之后cookie和cookie数据会被删除没有过期数据,无论最后用户从浏览器删除或者使用Javascript程序删除,我们都需要删除
6.我们如何在JavaScript中创建一个worker线程?
创建一个worker线程,我们需要通过Javascript文件名创建worker对象
我们需要使用“PostMessage”发送信息给worker对象,下面是相同的代码。
当worker线程发送数据的时候,我们在调用结束的时候,通过”onMessage”事件获取
这个繁重的循环在“MyHeavyProcess.js”的Javascript文件中,以下代码,当Javascript文件想发送信息,他使用”postmessage”,同时任何来自发送者的信息都在“onmessage”事件中接收到。
7.请描述一下cookies,sessionStorage和localStorage的区别?
cookie是网站为了标示用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)
cookie数据始终在同源的http请求中携带(即使不需要),记会在浏览器和服务器间来回传递
sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存
存储大小:
cookie数据大小不能超过4k
sessionStorage和localStorage虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大
有期时间:
localStorage存储持久数据,浏览器关闭后数据不丢失除非主动删除数据、、
sessionStorage数据在当前浏览器窗口关闭后自动删除
cookie设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭
8.如何实现浏览器内多个标签页之间的通信?
WebSocket、、SharedWorker
也可以调用localstorge、cookies、本地存储方式
localstorge另一个浏览上下文里被添加、、修改或删除时,它都会触发一个事件,我们通过监听事件,控制它的值来进行页面信息通信
注意quirks:Safari在无痕模式下设置localstorge值时会抛出QuotaExceededError的异常
9.如何在页面上实现一个圆形的可点击区域?
(1)map+area或者svg
(2)border-radius
(3)纯js实现需要求一个点在不在圆上简单算法、、获取鼠标坐标、
10.介绍一下标准的CSS的盒子模型?低版本IE的盒子模型有什么不同的?
(1)有两种,IE盒子模型、、W3C盒子模型
(2)盒模型:内容(content)、填充(padding)、边界(margin)、边框(border)
(3)区别:IE的content部分把border和padding计算了进去
11.CSS优先级算法如何计算?
优先级就近原则,同权重情况下样式定义最近者为准;
载入样式以最后载入的定位为准;
优先级为:
!important > id > class> tag
important比内联优先级高(style)
12.display:none和visibility:hidden的区别?
display:none隐藏对应的元素,在文档布局中不再给它分配空间,它各边的元素会合拢,就当他从来不存在
visibility:hidden隐藏对应的元素,但是在文档布局中仍保留原来的空间
13.position的absolute与fixed区别
absolute浮动定位是相对于父级中设置position为relative或者absolute最近的父级元素
fixed浮动定位是相对于浏览器视窗的
lIE 8以下版本的浏览器中的盒模型有什么不同?
IE8以下浏览器的盒模型中定义的元素的宽高不包括内边距和边框