摘要:
这是这个系列教程的第二部分,也是最后一部分,第一部分教程请点击这里While thelast part of the tutorialcovered the basic CRUD methods get/getAll/put/delete, this part is about the real thing: running queries against the store.To do so, we need to get familiar with two things: Creating indexes, and creating keyRanges.上一讲,我们讲了几个基础操作API方 阅读全文
摘要:
最近的HTML5项目中要用到客户端数据持久化,就尝试了一下HTML5客户端数据持久化方案。本来选用的是indexedDB来保存服务器数据至本地,但由于webkit升级后原本用IndexedDB写好的逻辑报错,加之操作IndexedDB比较奇葩,干脆又选用了web sql。但是web sql 对于前端人员用习惯了javascript再来写sql语句操作数据库总感觉怪怪的。所以自己把sql语句封装成了一个js库,取名为websqlWrapper.websql浏览器支持情况,pc与移动端都比较良好介绍WebsqlWrapper是一个简化websql操作的javascript库,在BSD协议下开源发布 阅读全文
摘要:
在项目中前几个月写过一个日历组件。结果今天测试部门报告说有bug, 经仔细查看代码,发现调用setMonth这个Date对象的方法时,返回的值不一定是正确的值。把你的本地系统日期调整至2013年1月31日,再接着测试以下代码var d = new Date();d.setMonth(8);d.getMonth();//输出9你会发现,你明明设置了Month值为8,但getMonth时候却输出9。why?查了一个早上bug,才发现是这个方法出问题。。后到stackoverflow上去问了一下,原因如下因为本地系统时间是2013-1-31setMonth(8)指定设置日期到8月份,但8月份只有30 阅读全文
摘要:
indexedDB 操作库IDBWRAPPER 教程翻译及API翻译第一部分part1indexedDB是html5出来后弄出来的客户端数据持久化方式的一种。可以以JSON对象方式存储数据至本地。相关的基本概念请自行查找相关资料。为什么需要一个库来操作IndexedDB呢?第一:浏览器兼容性问题,现在indexedDB只支持chrome与firefox第二:操作IndexedDB的方法接口比较复杂。为什么复杂,请看相关的一些个老外的讨论https://groups.google.com/a/chromium.org/forum/?fromgroups=#!topic/chromium-html 阅读全文
摘要:
最高性能的观察者模式特点:1、性能经测试确实高出目前市面上的所有类似的系统2、而且代码相当精简。请看我对arbiter的源码分析3、功能强大,虽然代码精简,但功确非常强大,请看下面的API介绍================================================================================官方网址:http://arbiterjs.com性能测试地址http://jsperf.com/pubsubjs-vs-jquery-custom-events/66======================================== 阅读全文
摘要:
var Arbiter = (function () { var create_arbiter = function () { var subscriptions = {};// 订阅者 var wildcard_subscriptions = {};// 通配符队列对象 var persistent_messages = {};// 公共消息,除开特别指定(persist:false的)订阅者之外,所有订阅者都要接收此消息,即使是消息发布之后再订阅 var id_lookup = {};// 订阅者队列以索引, 供:unsubscribe和resubscribe使用 var new... 阅读全文
摘要:
在公司近期做一个关于用html5和c++封装webkit内核实现游戏大厅的项目;简称html5游戏大厅,可以以APP方式接入各种技术实现的游戏,比如webgame,客户端游戏,flash游戏等。游戏大厅其实C++早就做的很成熟了并且已经运营多年,但由于近期HTML5的势头强劲,加之google的v8 javascript引擎之强力,公司决定尝试性用c++打包webkit内核,在webkit上用html5来实现游戏大厅的游戏界面布局,本地缓存,通信等;========== C++实现的游戏大厅有以下几点弊端 =======1、UI布局比较困难;2、一旦UI上有一点点变化,则需要用户更新整个或部分 阅读全文
摘要:
服务端:express3.0的开启服务的写法// Express web servervar app = express();// ...// Server Listenhttp.createServer(app).listen(app.get('port'), function(){ //log});//socket io listenvar io = require('socket.io').listen(app);客户端引入socket.io.js如果按以前的直接这样引用:<script src="/socket.io/socket.io. 阅读全文
摘要:
我们在做ie6下png透明的时候往往是用别人写好的JS文件来解决,这样很方便比如DD_belatedPNG.js但是这样的JS无法解决缩放后的<img>标签透明,缩放后的图片会被它无视掉。解决办法:其实用JS来解决PNG透明问题,JS最终还是给需要透明的元素加上了IE特有的透明滤镜与我们手动在CSS上添加IE透明滤镜是一样的。IE6透明滤镜的语法请网上自行搜索,大致是以下写法普通方法:background:none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="xxx.png" , 阅读全文
摘要:
现在html5被炒的很火,特别是chrome的版本不断更新,越来越多的css3属性的支持。到目前为止确实可以使用css3+html5制作出可以媲美桌面应用的web应用了。除了IE的兼容性问题,其它浏览器基本上已实现W3C所制定的那套东西,当然chrome中其中表现最好的一个浏览器,想用html5开发应用,要么逼客户使用chrome或firefox浏览器,要么用开源的webkit自己封装一个客户端环境。后者就是我们公司采用的方案前段时间为公司开发了一个基于html5+css3为前端基础的游戏,名叫"农夫乐园",类似于QQ的玫瑰小镇,不同的是我们的游戏是用html5+css3实 阅读全文