分类“Javascript & DOM & AJAX”的存档
- 2011.0511
-
- 正则表达式字面量在ECMAScript5中的变化
在《JavaScript语言精粹》的第72页有这样一段:
用正则表达式字面量创建的RegExp对象来共享同一个单实例: function make_a_matcher( ) { return /a/gi; } var x = make_a_matcher( ); var y = make_a_matcher( ); // 注意:x 和 y 是同一个对象! x.lastIndex = 10; document.writeln(y.lastIndex); // 10当你在浏览器中运行这段代码时,你会发现IE6-IE9、FireFox4、Chrome10、Safari5输出都是0,Firefox 3.6.16输出是10,原因可以在ECMAScript5规范第24页和第247页找到:
- 在23:48发表于Javascript & DOM & AJAX,有评论3条
- 2010.0608
-
- 在服务端合并和压缩JavaScript和CSS文件
Web性能优化最佳实践中最重要的一条是减少HTTP请求,它也是YSlow中比重最大的一条规则。减少HTTP请求的方案主要有合并JavaScript和CSS文件、CSS Sprites、图像映射(Image Map)和使用Data URI来编码图片。CSS Sprites和图像映射现在已经随处可见了,但由于IE6和IE7不支持Data URI以及性能问题,这项技术尚未大量使用。目前大部分网页中的JavaScript和CSS文件数量和开发时一致,少量的网页会根据实际情况采取本地合并,这些合并中相当多的是有选择地手动完成,每次新的合并都需要重新在本地完成并上传到服务器,比较的随意和繁琐,同样文件的压缩也有类似的情况。而利用服务端的合并和压缩,我们就可以按照开发的逻辑尽可能让文件的颗粒度变小,利用网页中URL的规则来自动实现文件的合并和压缩,这会相当的灵活和高效。
- 标签:Combo Handler, Minify, YUI, 性能
- 在1:50发表于Apache & MySQL & PHP, Javascript & DOM & AJAX,有评论42条
- 2009.1105
-
- 动态加载JavaScript的小实践
动态加载JavaScript文件和CSS资源为Web前端开发提供了巨大的灵活性,同时也实现了lazy load和按需加载,相比XMLHttpRequest而言其没有跨域的限制使其广泛应用。其基本原理是:在页面DOMReady后,利用JavaScript把指定文件路径的script和link元素插入到页面中,然后判断其加载状态再进行继续操作。
- 标签:JavaScript, Loader, YUI
- 在0:56发表于Javascript & DOM & AJAX,有评论26条
- 2009.0906
-
- CSS实现HTML元素透明的那些事
CSS3草案中定义了
{opacity:<length> | inherit;}来声明元素的透明度,这已经得到了大多数现代浏览器的支持,而IE则很早通过特定的私有属性filter来实现的,所以HTML元素的透明效果已经无处不在了。首先看看A级浏览器所支持的用CSS实现元素透明的方案:- 标签:-ms-filter, CSS, filter, hasLayout, IE, jQuery, Mootools, opacity, YUI
- 在23:44发表于HTML & CSS, Javascript & DOM & AJAX,有评论36条
- 2009.0727
-
- 在HTML中获取正确的URL属性值
在HTML中,常见的URL有多种表示方式:
相对URL: example.php demo/example.php ./example.php ../../example.php /example.php 绝对URL: http://dancewithnet.com/example.php http://dancewithnet.com:80/example.php https://dancewithnet.com/example.php同时HTML中有大量的元素属性值为URL,一般利用JavaScript获取这些URL属性值有两种方法:
- 标签:getAttribute, HTML, URL
- 在23:57发表于Javascript & DOM & AJAX,有评论13条
- 2009.0402
-
- 《JavaScript语言精粹》
本书的作者Douglas Crockford是JavaScript开发社区最知名的权威,JavaScript的发明人Brendan Eich说他是“Yoda of lambda programming and JavaScript(lambda编程和JavaScript的精神领袖)”。他不仅仅给我们带来了JSON、JSLint、JSMin和ADSafe等等在JavaScript开发领域应用广泛且影响深远的作品,更重要的是给我们带来了受益终身的利用JavaScript进行高效开发的思想和风格,这就是本书的重要意义。
JavaScript曾是“世界上最被误解的语言”,因为它担负太多的特性,包括糟糕的交互和失败的设计,但随着Ajax的到来,JavaScript“从最受误解的编程语言演变为最流行的语言”,这除了幸运之外,至少还说明它是一个不错的语言。Douglas Crockford在这本书中剥除JavaScript糟糕的外衣,抽离出一个具有更好可靠性、可读性和可维护性的JavaScript子集,让你看到一门优雅的、轻量级的和非常富有表现力的语言。他从语法、对象、函数、继承、数组、正则表达式、方法、样式和优美的特性这9个方面来呈现这门语言真正的精华,这是语言最本质最优雅的部分,通过它们完全可以构建出高效的代码。他还通过附录列出了这门语言的糟粕和鸡肋部分,且告诉你如何避免它们。最后还介绍了JSLint,通过它的检验,能有效的保障我们写出优美高效的代码。
- 标签:Douglas Crockford, JavaScript, 书评
- 在23:45发表于Javascript & DOM & AJAX,有评论27条
- 2009.0329
-
- JavaScript大牛:Douglas Crockford
Douglas Crockford是JavaScript开发社区最知名的权威,是JSON、JSLint、JSMin和ADSafe之父,是《JavaScript:The Good Parts》(英文版、中文版)的作者。JavaScript的发明人Brendan Eich说他是“Yoda of lambda programming and JavaScript(lambda编程和JavaScript的精神领袖)”。他同时也服务于ECMA的JavaScript2.0技术委员会(TC39)。其个人站点和Blog是http://www.crockford.com/和http://profiles.yahoo.com/blog/GSBHPXZFNRM2QRAP3PXNGFMFVU。
Douglas Crockford现在是Yahoo的资深JavaScript架构师,曾在Atari公司(视频游戏工业的领袖)开发了办公自动化系统,同时也完成了对于游戏和音乐的研究;曾任Lucasfilm(卢卡斯)电影公司技术总监;在Paramount(派拉蒙)公司任职过新媒体执行主管;在电气社区,通常为人所知的是communities.com的创始人兼首席执行官;他还创办了State软件公司并作为该公司CTO,这也是他发现JSON时所在的地方。他同时也对Blissymbolics非常感兴趣,这是一种图形、象征性的语言,并且对永久减肥(Permanent Weight Loss)做过研究。
- 标签:Douglas Crockford, JavaScript, 牛人
- 在22:07发表于Javascript & DOM & AJAX, 互联网 & IT,有评论40条
- 2008.1230
-
- 如何开始使用YUI Doc工具?
YUI Team实践出了一个高效易协作的前端代码开发流程:代码首先由Ant来组织管理和版本化、接着由JsLint来验证,然后由YUI Doc文档化、最后由YUI Compressor进行压缩发布。上个月初,YUI Team公布了这个新的JavaScript API文档生成工具YUI Doc,它本来专门为YUI提供API级别的文档的,现在它开源为人民服务了。
YUI Doc和JavaDoc、JSDoc和JsDoc Toolkit相似。YUI Doc是由注解驱动(comment-driven )的系统,它通过解析代码中描述结构的注解来生成文档。由于它纯粹的依赖于注解,所以并不像一些模拟系统一样需要有惯用语和代码模式。更详细的介绍可以看YUI Doc的官方文档和YUI blog上的《YUI Doc: A New Tool for Generating JavaScript API Documentation》(由于YUI blog咱们无法访问,比较好的解决方案就是在Google Reader中订阅它的Feed,直接输入 http://yuiblog.com即可。)
YUI Doc是基于Python开发,且依赖几个扩展库,加之其Getting Started写的也比较含糊,所以如何使用这个工具反而成为第一道门槛,尤其对于那些对Python不熟悉的同学来说。所以,下面的重点是介绍如何在Windows上使用YUI Doc: 阅读全文 »
- 标签:YUI, yuidoc
- 在0:42发表于Javascript & DOM & AJAX,有评论20条
- 2008.1204
-
- 连续字符自动换行的解决方案
文本的排版依据语言的不同会有一些格式上的要求,比如简体中文中类似逗号、分号等标点符号不会出现在一行的开头,对于英文来讲就是一个完整单词不会在两行显示,浏览器会依据类似这样的原则来显示文本。但是由于网页有宽度限制的,连续的超长的字母、数字或标点符号超出其所在区域宽度的限制而导致影响页面视觉,如例1所示。这个问题在显示用户输入信息时尤为突出,这里就是要说如何解决这个问题。
在CSS3草案中,对文本的处理新增了两个新属性word-wrap和word-break来解决这个问题:
- {word-break:break-all;} :依照亚洲语言和非亚洲语言的文本规则,允许在字内换行,且允许非亚洲语言文本行的任意字内断开
- {word-wrap:break-word;}: 内容将在边界内换行,如需要则词内换行(word-break)也行发生
- 标签:break-all, break-word, createTreeWalker, CSS3, word-break, word-wrap, 跨浏览器
- 在0:16发表于HTML & CSS, Javascript & DOM & AJAX,有评论18条
- 2008.1027
-
- JavaScript的陷阱
这本来是翻译Estelle Weyl的《15 JavaScript Gotchas》,里面介绍的都是在JavaScript编程实践中平时容易出错或需要注意的地方,并提供避开这些陷阱的方法,总体上讲,就是在认清事物本质的基础样要坚持好的编程习惯,其实这就是Douglas Crockford很久以前提出的JavaScript风格要素问题了,有些内容直接是相同的,具体请看《Javascript风格要素(1)》和《Javascript风格要素(2)》。在翻译的过程中,我又看到了贤安去年翻译的《JavaScript的9个陷阱及评点》,其内容又有些交叉在一起,所以我就在现有翻译的基础上做了一个简单的拼合,并依据自己的理解增加了一些注释和解释。 阅读全文 »
- 标签:for, JavaScript, null, parseInt, String.replace(), switch, this, undefined, 匿名函数
- 在0:26发表于Javascript & DOM & AJAX,有评论18条


