收藏几篇关于提升javascript运行速度的文章

用javascript获取图片颜色

html 5.0的canvas可以获取到图片的像素点了。这样,我们可以做很多以图片有关的操作和渲染了。当然今后也会给浏览器渲染引擎更高的要求。(YY, 什么时候html渲染引擎也支持多核和GPU呢?)
 

利用canvas的2d对象,我们可以获取图片每个像素点的数据 CanvasPixelArray
 

舜子这里也写了一个简单的 getImageData 的演示 图片取色演示。这个演示目前只能在ff3下运行。

能够获取像素点后,是不是以后的OCR文字识别系统都直接online了呢?

查看更多...

Tags: canvas

分类:Javascript | 固定链接 | 评论: 15 | 引用: 0 | 查看次数: 4809

IE8 支持 W3C 标准的跨域权限控制

IE8 终于支持 W3C 的跨域控制了。比起早些时候的 XDomainRequestAllowed = 1 这个干巴巴的控制方式明显自由了很多。这样大家可以可以更加放心得使用XDomainRequest去调用跨域的数据,服务器也可以更好得控制这些数据的安全性了。
 

同时还非常厚道得放出了演示视频
 

下载视频.


IE越来越向标准靠拢,让广大的前端开发朋友们看到了希望:P

查看更多...

Tags: IE W3C 跨域

分类:Javascript | 固定链接 | 评论: 9 | 引用: 0 | 查看次数: 2364

IE8的Document Object Model Prototypes

IE8的DOM原型列表

http://msdn.microsoft.com/en-us/library/dd347057(VS.85).aspx

对于Dom的理解IE8的确比以前做得标准了很多,但是还是有很长的路要走,很多w3c的标准接口依然没有实现。

有关IE8更多prototypes的文章:

查看更多...

分类:Javascript | 固定链接 | 评论: 5 | 引用: 0 | 查看次数: 740

[转]08年 ,JavaScript总结

很早在 Ajaxian 上看到了这篇文章,不过没有时间翻译出来。不过好在JavaEye有人翻译了,转帖分享一下

原文: http://blog.nihilogic.dk/2009/01/2008-year-of-awesome-javascript.html

翻译: http://www.javaeye.com/news/4892-2008-javascript-summary

 

查看更多...

Tags: Javascript

分类:Javascript | 固定链接 | 评论: 9 | 引用: 0 | 查看次数: 1793

javascript 内存泄露工具使用

javascript内存泄露的问题一直以来都不受到大家的重视,原因是对用户的影响没有太实际的表现,或许近几年内存发展迅速。脚本内存再泄露也不会有太大影响。

当然作为前端开发的同学们,就不能有这样的侥幸心理。出现memory leaks很大程度上是因为程序的不成熟和编码不太规范造成的。不过,这里就不说如何出现问题的,对问题的出现有兴趣可以参考以下地址:

查看更多...

Tags: leaks

分类:Javascript | 固定链接 | 评论: 9 | 引用: 0 | 查看次数: 12115

基于Canvas的在线绘图工具

image

注意,不是基于flash的哟。Pixastic 能够实现一些简单的滤镜和绘画,当然最厚道的是作者还提供了每个特效渲染的源代码:P 打算学习Canvas的朋友不要错过哈。

 

IE就免打开下面的网址了

查看更多...

分类:Javascript | 固定链接 | 评论: 4 | 引用: 0 | 查看次数: 1715

FireUnit - 基于firebug的单元测试工具

getClientRects 和 getBoundingClientRect 的区别

TextRectangle

对于文本对象,W3C提供了一个 TextRectangle 对象,这个对象是对文本区域的一个解释。

看下图(截图来源ppk):

200812181810.jpg
一行连续的文本

200812181810.jpg
我们可以获取到里面的5行文字,红色框就是TextRectangle这个抽象的对象.

TextRectangle对象包含了, top left bottom left四个属性,这四个属性都是对应可视区域viewport的
200812181810.jpg

理解TextRectangle后,对getClientRects和getBoundingClientRect可以得到一个更好的说明.

getClientRects 返回一个TextRectangle集合,就是TextRectangleList对象。
getBoundingClientRect 返回 一个TextRectangle对象。

浏览器差异:
除了safari,firefox2.0外所有浏览器都支持getClientRects和getBoundingClientRect,
firefox 3.1给TextRectangle增加了 width 和 height。

ie 和非ie浏览器在使用getClientRects还是有些差别的,ie获取TextRectangleList的范围很大。而非ie获取的范围比较小, 只有display:inline的对象才能获取到TextRectangleList,例如em i span 等标签。

使用场景:
现 在用得最多的是getBoundingClientRect,这个直接返回一个TextRectangle,其实大家经常使用它来获取到一个 element的viewport坐标.其实就算dom里面没有文本也能返回一个 TextRectangle. 这样就不需要向上遍历来计算对象的相对坐标了。

Tags: TextRectangle

分类:Javascript | 固定链接 | 评论: 7 | 引用: 0 | 查看次数: 6192

ie6 focus 历史链错误的Bug

这个也不知道怎么描述好一些,但是大致情况是这样的。空间这段时间在IE6下总是遇到一些输入框无法聚焦的问题。通常问题出现在对话框上面。


当打开一个Div对话框后(对话框内是个Iframe),IE6用户的鼠标点击有时无法聚焦到输入框内。 这时只要用脚本强制 focus 一次,这样强迫浏览器重新建立一个focus历史的记录。

但是问题产生了,强制focus后的输入框如果直接使用 removeNode 方法清除掉后,页面上所有输入框都也无法准确聚焦了... - -!!!

初步猜测,IE在用户操作输入框的时候,希望把上一个聚焦的输入框或焦点Blur. 但是IE却因为 removeNode 后没有作记录,就一直找不到这个历史。

解决办法是在removeNode之前,先把对话框Div的innerHTML清空让后再remove,这样ie6就能够很好地回收和初始化一些资源。
分类:Javascript | 固定链接 | 评论: 9 | 引用: 0 | 查看次数: 1228