首先是这一版加入的几个新的 Widget: Clock, FilteringTable,ProgressBar。这些widget中比较重要的?FilteringTableQ?FilteringTable的加入是用来替换以前的SortableTableQ相比SortableTable, 它的新的Ҏ(gu)包括:(x)
Multiple Column Sorting (number of columns settable, default is 1)
Sorting in place (non-destructive)
Per-column programmatic filtering
Add and remove rows on the fly
Update field values (with typing) on the fly
No restrictions on sorting on markup
从这个地址M验一下:(x) http://archive.dojotoolkit.org/nightly/tests/widget/test_FilteringTable.htmlQ功能非常强大,可以直接从传q来的JSON对象中构造出列表Q动态的qo(h)数据Q改变各个字D늚|可惜q个版本中还不支持分,列、行的拖拉的功能Q只能是期待下一版了。其他几个Widget也都非常的实用,dojo的官方网站上都有例子Q感兴趣的可以去找找?/p>
下一个是让h感到惊喜是新增的 dojo.charting ?dojo.gfx 包, dojo.charting 提供了一个基于Vector实现了多U图表类型的charting engineQ从demo上来看,非常不错哦! 可以从这个地址体验一下:(x)
http://archive.dojotoolkit.org/nightly/tests/charting/test_engine.html
另外一个好消息是,从昨天dojo官方|站的新M看到 Greenplum ?SitePenQ两个技术型的企业) 宣布把他们的一些技术捐赠给Dojo?new charting engine。dojo.gfx是一个二l矢量图形的APIQ能自动的根据客h览器的类型决定用SVG或是VMLQ也很实用,比如新增加的Clock Widget是Zq个包实现的。这两个包的加入让我们有理由怿不远的将来,dojo必然?x)撑L(fng)图表的一片天!
然后?dojo.a11y 包,a11y 是accessibility的羃写,主要是加入对键盘按键Q快捷键Q的支持。官方网站上说的是在Dojo 0.4中只有一部分widget中已l加入了q方面的支持Q在0.5中会(x)加入努力更多?/p>
国际化支持方面,q个版本?dojo.i18n 包做了不的改动Q加入了?collecting localized resources 的支持,提供了更多的date and time 的格式,此外对很?widget QDatePicker, TimePicker{等Q?也做了国际化的改q,不过DatePickerQTimePicker依然是丑陋无比。可以看到和dojo 0.3.1比,国际化的框架q没有很大的变动Q?q次主要是具体的q行一些完善?/p>
q有很多其他的包Q像 dojo.lfxQdojo.namespacesQdojo.html{等Q在q一版中也都得到了很大的提高Q详l一点的列表可以查看 http://dojo.jot.com/WikiHome/Release0Point4 ?/p>
?.3.1 ?0.4 几个月的旉里dojo便得到如此大的提高,Ҏ(gu)Dojo|站上的公告Qdojo 0.4.1q几天也p发布了,在几个月后又要出0.5Q按照这效率Q想想一q后的dojoQ真是让人抓狂!
function checkEmail(email)
{
if (email.length == 0 )
return true;
var validEmail = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
if (validEmail.test(email))
{
return true
}
return false
}
checkEmail("123456789012345678901234567890123456789012345abcdefghijkl");
W一反应是正则表辑ּ写的有问题,'@'前后?([\.-]?\w+)* 都可能会(x)引v效率问题。下面仔l分析一?
1. 从输入的值来看, engine?x)首先匹?\w+Q?q是一个贪婪匹配,可以一直匹配到l尾Q?br />2. 然后按优先开始匹?([\.-]?\w+)*中的 [\.-]?\w+Q这个时候前面的 \w+ Z后面的匹配成功,必须要重现匹配,让出一点匹配的内容Q假讑օ让出的是 'l'Q?[\.-]?\w+)*匚w成功Q?br />3. ([\.-]?\w+)* 意味着要尽量去匚w多次Q再W二ơ对 [\.-]?\w+ 匚wQ这个时候ؓ(f)了第二次匚w的成功,W一ơ匹配的 [\.-]?\w+ 要让满W二?[\.-]?\w+ 的内容,也就是它匚w到的'l'Q这个时候,W一ơ匹配的 [\.-]?\w+ 又不满了,\w+ 又得让出来一?k'?br />4. q样未知匚wơ数?([\.-]?\w+)* Ş成了一个很大的循环Q而在正则表达式中Q每ơ匹配时被括号里模式匚w的东襉K是要被存h供以后用的Q大量的中间l果被缓存,最l导致IEL?/p>
所以这是一条典型的因ؓ(f)循环试匚wD效率低下的正则表辑ּQ?表达式中两个 ([\.-]?\w+)* 都可能导致解释器的crashQ在本例中不需要利用匹配的中间l果Q所以解决的办法很简单,在括号加入一个冒P不保存中间结果就是了。即那个正则表辑ּҎ(gu)如下Q?/p>
/^\w+(?:[\.-]?\w+)*@\w+(?:[\.-]?\w+)*(\.\w{2,3})+$/
如果性能q是不能满需求,可以考虑把这个正则表辑ּ拆成几个的表达式,分别q行验证?br />
有h曄在他的一blog[ http://blog.cathayan.org/archive/1/2005-7-4 ]里非常Ş象的介绍q?GB18030 的历?转脓(chung)_ֽ部分如下Q?/p>
1QGB2312是很老的东西了,早就发现不够用了?br />2Q?4q_(d)q是之前Q国家推Z性标准gb18000Q还?3000我忘了)Q这个标准其实就是utf-8标准Q除了名字,完全一PQ同时也微Y公司采纳。-Q(据说?993q_(d)GB13000Q应该是ISO10646Q?br />3Q微软借口说gb18000q不成熟Qؓ(f)了取得中国市场的垄断CQ自己搞了一套汉字标准,于是它就随着win95和office之类的流行v来了Q国家看生米已经煮成了熟饭,只好把这套标准定为国标GBK标准。-Q(其实只是指导性标准,q强制性,GB18030是强制性标准)
4Q微软到?9q_(d)前后吧)Q又说GBK已经落伍了,现在行utf-8标准Q准备全盘{换成utf-8Q这些把有关部门Ҏ(gu)了。NNDQ当q我们推utf-8你说不成熟,自己搞了一套,现在赚得盆满钉|了又自己说要推utf-8了,你丫微Y分明没把政府放在眼里?br />5Q于是政府怒了Q强制推行gb18030标准Q这个标准前面兼容GBKQ其他码位兼容utf-8Q,是q渡标准吧。要求微软强制执行,否则产品不得在大陆买。于是基本搞M微Y的WindowsMeQ差Ҏ(gu)MOffice2000Q据说发行前几个月,微Y除了改字W编码就没干其他什么事情)Q-Q确实,W(xu)inMe是我认ؓ(f)的最差的Windows版本Q而office2k也是前不着村,后不着店,前后兼容性都差)
6Q由于以上历史原因,现在是GB2312QGBKQGB18030QUTF-8q存了?br />7Q如果不是万恶的微YQ我们早q上UTF-8了?/p>
或许正是因ؓ(f)微Y和中国之间ؓ(f)GB18030发生了这么多的恩恩怨怨和当年微Y的仓促上阵,直到现在微Y的很多品对GB18030支持的依然不是很好。访问下面的面Q了解MS对GB18030支持情况?qing)下载Windows下的GB18030安装包:(x)
http://www.microsoft.com/globaldev/DrIntl/columns/015/default.mspx
虽然MS声明在Windows XP ?Windows 2000 中通过"add-on"来支持GB18030Q但是IE 6.0直接昄 List Box、Drop Down Menu、Text Area、Text Field中的GB18030字符依然q是有问题,下面的这文章有相关的介l:(x)
http://www-306.ibm.com/software/globalization/gb18030support/retrieve.jsp
在IBM的这名?Globalize your On Demand Business"的文章里Q给出的solution是在要显CGB18030的元素上加上cM "STYLE="font-family:'SimSun-18030'"的CSS声明。在当今WEB2.0如火如荼的年代,我们当然要把内容和显C分,在CSS中进行配|!当然实际问题要比q个文档说的略微复杂一点,有下面几个比较明昄问题Q?/p>
1) 一般来_(d)大部分html标签(包括Input)都不要,?lt;Select> 要必要在CSS中强制指?font-family"?SimSun-18030"?br />2) 当要Z个元素指定多个字体的时候,要将"SimSun-18030"作ؓ(f)首选,x在最前面?br />3) 对于大部分标{?当font-family设ؓ(f) SimSun-18030 Ӟ而font-size 为:(x)8pt,9pt,11px Ӟ有一部分字符比如 "?和一些标??x)显C成其他的字W,?"? q样的字W,IE ?x)出Cؕ码。原因可能是因ؓ(f)q些个font-size针对WEB做了优化?/p>
结QGB18030是个形式大于内容的东西,但是如果惌让你的品理直气壮的再中国销售,略微q旉讄一下还是有必要的?/p>