lyndon

父子页面之间跨域通信的方法

BY: lyndon / DATE: 2013-07-03 / POSTED IN: 前端开发 / VIEWS: 82650 / COMMENTS: 4

父子跨域由于同源策略的限制,JavaScript跨域的问题,一直是一个比较棘手的问题,为了解决页面之间的跨域通信,大家煞费苦心,研究了各种跨域方案。之前也有小网同学分享过一篇“跨域,不再纠结” 开始照着尝试时还是有些不够明白的地方,深入了解之后,这里给大家补充一点更具体的做法。

lyndon

Sizzle的“编译原理”

BY: lyndon / DATE: 2012-12-18 / POSTED IN: 前端开发 / VIEWS: 8995 / COMMENTS: 1

Sizzle,是jQuery作者John Resig写的DOM选择器引擎,速度号称业界第一。作为一个独立全新的选择器引擎,出现在jQuery 1.3版本之后,并被John Resig作为一个开源的项目。Sizzle是独立的一部分,不依赖任何库,如果你不想用jQuery,可以只用Sizzle,也可以用于其他框架如:Mool, Dojo,YUI等。

前几天在准备一个关于jQuery的分享PPT,问同事关于jQuery除了使用方法之外还有没有其他特别想了解一下的,有人提到了想了解下它的选择器是怎么实现的,也有人提到jQuery的查询速度跟其他框架比怎么样。关于速度,sizzle的官方网站上可以下载测试的例子,速度确实很有优势。但是它为什么会有这样高效的运行速度,就跟这里想探讨的实现原理有关系了。

在了解Sizzle之前必须要先了解它的选择器是怎么回事,这里有一个简单的例子,熟悉jQuery的同学也一定很熟悉这样的选择器格式:

tag #id .class , a:first

lyndon

Ajax无刷新分页可以尝试的性能优化方法

BY: lyndon / DATE: 2012-06-01 / POSTED IN: 前端开发 / VIEWS: 10580 / COMMENTS: 5

Ajax无刷新分页,已经是一个大家比较熟悉的事物了,大概就是web前端页面上有一个js的方法,通过Ajax去请求服务器端的分页数据接口,拿到数据后再在页面上创建html结构,展现给用户,类似于下面这样:

lyndon

Dom元素自定义“value”属性可能导致的一个灵异问题

BY: lyndon / DATE: 2011-09-09 / POSTED IN: 前端开发 / VIEWS: 172474 / COMMENTS: 10

这个问题还没有经过深入的分析和确认,先跟大家分享一下表象和个人初步的判断。

目前最直接的是IE8里面会有这个问题。我们有时候可能会通过给DOM元素自定义一些属性用以保存数据,比如通常<li>标签是没有“value”这个属性的,但实际上<li value=”XXX”>这个写法,我们也是可以正常的去读取或设置“value”这个属性,相信大家也会经常这样使用。现在很出现的一个很灵异的问题是,至少在IE8里面,这个value属性好像被默认为整型了,如果用脚本设置li.value=“some string”,实际上value值会被设置成1。如果用脚本设置li.value=12345678912 这样比较长的数字,可能会溢出,脚本会报错,而且还不能强制转换成字符串,因为转了也没有用….也许这应该算是IE8的一个BUG,不巧被我碰上了,还没有去验证其他浏览器会怎么样。但是可以肯定的是,即便是在IE8里面,只要这个属性名不是“value”,这个问题就不复存在了。

鉴于IE8或者IE系列的浏览器目前还是我们比较常用的浏览器,大家以后如果需要再使用自定义的属性时,尽量不要使用value这个名字…

有兴趣的同学可以去验证一下… 或者还可以得出其他结论,我这里就算抛砖引玉吧。