随笔分类 -  HTML

摘要:在之前的博客中提到过看到html5 的websocket后很感兴趣,终于可以摆脱长轮询(websocket之前的实现方式可以看看Developer Works上的一篇文章,有简单提到,同时也说了websocket基本概念)等方式做一个山寨版的web聊天室。什么是websocketWebSocket 协议是html5引入的一种新的协议,其目的在于实现了浏览器与服务器全双工通信。看了上面链接的同学肯定对过去怎么低效率高消耗(轮询或comet)的做此事已经有所了解了,而在websocket API,浏览器和服务器只需要要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可 阅读全文
posted @ 2013-12-10 19:40 谦行 阅读(47467) 评论(23) 推荐(17) 编辑
摘要:虽然在JavaScript中有setInterval和setTimeout函数使javaScript看起来好像使多线程执行,单实际上JavaScript使单线程的,一次只能做一件事情(关于JavaScript单线程可以看看setTimeout()和setInterval() 何时被调用执行),看个简单的例子证明一下 Web Workers Web Workers 页面一运行就会弹出一个对话框,如果setTimeout是在另外一个线程运行,那么过一秒钟控制台就会打印“timeout function”,事实是只要不关闭对话框,控制台永远不会输出文字,这两句话确实是在一个线程内运... 阅读全文
posted @ 2013-12-09 23:22 谦行 阅读(9450) 评论(0) 推荐(3) 编辑
摘要:一些麻烦事儿平时做web开发的时候关于消息传递,除了客户端与服务器传值还有几个经常会遇到的问题1.页面和其打开的新窗口的数据传递2.多窗口之间消息传递3.页面与嵌套的iframe消息传递4.上面三个问题的跨域数据传递postMessage()这些问题都有一些解决办法,但html5引入的message的API可以更方便、有效、安全的解决这些难题。postMessage()方法允许来自不同源的脚本采用异步方式进行有限的通信,可以实现跨文本档、多窗口、跨域消息传递。postMessage(data,origin)方法接受两个参数1.data:要传递的数据,html5规范中提到该参数可以是JavaSc 阅读全文
posted @ 2013-12-08 18:13 谦行 阅读(200237) 评论(20) 推荐(38) 编辑
摘要:上篇博客(在github上写个人简历——最简单却又不容易的内容罗列)介绍了我在github上放的一个个人在线简历,有朋友看了后告诉我一个很大缺陷,使用github挺慢的,每次看的时候都很慢,第一反应这问题我可解决不了,后来想到是否可以利用缓存,至少第二次看的时候会快一些,但缓存机制大部分依赖于浏览器,而且默认都用了,还是很慢,所以此路不通。application cache忽然灵光一现(原谅我愚笨,其实应该很快想到的),前段日子在看html5的东西,当时觉得application cache没有太大用处,又肤浅了,用在这个需求实在太合适了。那么是什么是application cache呢?ap 阅读全文
posted @ 2013-11-26 21:48 谦行 阅读(5091) 评论(2) 推荐(4) 编辑
摘要:在HTML5本地存储——IndexedDB(一:基本使用)中介绍了关于IndexedDB的基本使用方法,很不过瘾,这篇我们来看看indexedDB的杀器——索引。熟悉数据库的同学都知道索引的一个好处就是可以迅速定位数据,提高搜索速度,在indexedDB中有两种索引,一种是自增长的int值,一种是keyPath:自己指定索引列,我们重点来看看keyPath方式的索引使用.创建索引我们可以在创建object store的时候指明索引,使用object store的createIndex创建索引,方法有三个参数索引名称索引属性字段名索引属性值是否唯一function openDB (name,ve 阅读全文
posted @ 2013-11-12 08:04 谦行 阅读(29723) 评论(7) 推荐(10) 编辑
摘要:在HTML5本地存储——Web SQL Database提到过Web SQL Database实际上已经被废弃,而HTML5的支持的本地存储实际上变成了Web Storage(Local Storage和Session Storage)与IndexedDB。Web Storage使用简单字符串键值对在本地存储数据,方便灵活,但是对于大量结构化数据存储力不从心,IndexedDB是为了能够在客户端存储大量的结构化数据,并且使用索引高效检索的API。异步API在IndexedDB大部分操作并不是我们常用的调用方法,返回结果的模式,而是请求——响应的模式,比如打开数据库的操作var request= 阅读全文
posted @ 2013-11-10 13:52 谦行 阅读(116780) 评论(15) 推荐(27) 编辑
摘要:在HTML5 WebStorage介绍了html5本地存储的Local Storage和Session Storage,这两个是以键值对存储的解决方案,存储少量数据结构很有用,但是对于大量结构化数据就无能为力了,灵活大不够强大。Web SQL Database我们经常在数据库中处理大量结构化数据,html5引入Web SQL Database概念,它使用 SQL 来操纵客户端数据库的 API,这些 API 是异步的,规范中使用的方言是SQLlite,悲剧正是产生于此,Web SQL Database规范页面有着这样的声明This document was on the W3C Recommen 阅读全文
posted @ 2013-11-03 20:27 谦行 阅读(77113) 评论(7) 推荐(9) 编辑
摘要:WebStorage是HTML5中本地存储的解决方案之一,在HTML5的WebStorage概念引入之前除去IE User Data、Flash Cookie、Google Gears等看名字就不靠谱的解决方案,浏览器兼容的本地存储方案只有使用cookie。有同学可能会问,既然有了cookie本地存储,为什么还要引入WebStorage的概念?Cookie肿么了cookie的缺陷是非常明显的1. 数据大小:作为存储容器,cookie的大小限制在4KB左右这是非常坑爹的,尤其对于现在复杂的业务逻辑需求,4KB的容量除了存储一些配置字段还简单单值信息,对于绝大部分开发者来说真的不知指望什么了。2. 阅读全文
posted @ 2013-10-21 21:35 谦行 阅读(20164) 评论(3) 推荐(6) 编辑
摘要:在jQuery的attr与prop提到过在IE9之前版本中如果使用property不当会造成内存泄露问题,而且关于Attribute和Property的区别也让人十分头痛,在HTML5中添加了data-*的方式来自定义属性,所谓data-*实际上上就是data-前缀加上自定义的属性名,使用这样的结构可以进行数据存放。使用data-*可以解决自定义属性混乱无管理的现状。读写方式data-*有两种设置方式,可以直接在HTML元素标签上书写 Click Here 其中的data-age就是一种自定义属性,当然我们也可以通过JavaScript来对其进行操作,HTML5中元素都会有... 阅读全文
posted @ 2013-10-18 22:54 谦行 阅读(190294) 评论(11) 推荐(35) 编辑