??xml version="1.0" encoding="utf-8" standalone="yes"?>精品av中文字幕在线毛片,成人va在线观看,久久国产精品影片http://www.aygfsteel.com/weidy/category/5269.htmlzh-cnWed, 07 Mar 2007 20:02:47 GMTWed, 07 Mar 2007 20:02:47 GMT60使用E4X用简单高效的方式操作XMLhttp://www.aygfsteel.com/weidy/archive/2007/03/07/e4x.htmlweidyweidyWed, 07 Mar 2007 09:33:00 GMThttp://www.aygfsteel.com/weidy/archive/2007/03/07/e4x.htmlhttp://www.aygfsteel.com/weidy/comments/102445.htmlhttp://www.aygfsteel.com/weidy/archive/2007/03/07/e4x.html#Feedback1http://www.aygfsteel.com/weidy/comments/commentRss/102445.htmlhttp://www.aygfsteel.com/weidy/services/trackbacks/102445.html阅读全文

weidy 2007-03-07 17:33 发表评论
]]>
Dojo 0.4 新特?/title><link>http://www.aygfsteel.com/weidy/archive/2006/11/09/80136.html</link><dc:creator>weidy</dc:creator><author>weidy</author><pubDate>Thu, 09 Nov 2006 05:51:00 GMT</pubDate><guid>http://www.aygfsteel.com/weidy/archive/2006/11/09/80136.html</guid><wfw:comment>http://www.aygfsteel.com/weidy/comments/80136.html</wfw:comment><comments>http://www.aygfsteel.com/weidy/archive/2006/11/09/80136.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/weidy/comments/commentRss/80136.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/weidy/services/trackbacks/80136.html</trackback:ping><description><![CDATA[ <p>    带着众多׃h的新Ҏ(gu),Dojo 0.4 发布了。抽出时间下载了一个体验了一把,l果用一句话来概况:(x) 惊喜多多Q?/p> <p>    首先是这一版加入的几个新的 Widget: Clock, FilteringTable,ProgressBar。这些widget中比较重要的?FilteringTableQ?FilteringTable的加入是用来替换以前的SortableTableQ相比SortableTable, 它的新的Ҏ(gu)包括:(x)</p> <p>Multiple Column Sorting (number of columns settable, default is 1) <br />Sorting in place (non-destructive) <br />Per-column programmatic filtering <br />Add and remove rows on the fly <br />Update field values (with typing) on the fly <br />No restrictions on sorting on markup </p> <p>    从这个地址M验一下:(x) <a >http://archive.dojotoolkit.org/nightly/tests/widget/test_FilteringTable.html</a>Q功能非常强大,可以直接从传q来的JSON对象中构造出列表Q动态的qo(h)数据Q改变各个字D늚|可惜q个版本中还不支持分,列、行的拖拉的功能Q只能是期待下一版了。其他几个Widget也都非常的实用,dojo的官方网站上都有例子Q感兴趣的可以去找找?/p> <p>    下一个是让h感到惊喜是新增的 dojo.charting ?dojo.gfx 包, dojo.charting 提供了一个基于Vector实现了多U图表类型的charting engineQ从demo上来看,非常不错哦! 可以从这个地址体验一下:(x)</p> <p> <a >http://archive.dojotoolkit.org/nightly/tests/charting/test_engine.html</a></p> <p>   另外一个好消息是,从昨天dojo官方|站的新M看到 Greenplum ?SitePenQ两个技术型的企业) 宣布把他们的一些技术捐赠给Dojo?new charting engine。dojo.gfx是一个二l矢量图形的APIQ能自动的根据客h览器的类型决定用SVG或是VMLQ也很实用,比如新增加的Clock Widget是Zq个包实现的。这两个包的加入让我们有理由怿不远的将来,dojo必然?x)撑L(fng)图表的一片天!</p> <p>    然后?dojo.a11y 包,a11y 是accessibility的羃写,主要是加入对键盘按键Q快捷键Q的支持。官方网站上说的是在Dojo 0.4中只有一部分widget中已l加入了q方面的支持Q在0.5中会(x)加入努力更多?/p> <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> <p>    q有很多其他的包Q像 dojo.lfxQdojo.namespacesQdojo.html{等Q在q一版中也都得到了很大的提高Q详l一点的列表可以查看 <a >http://dojo.jot.com/WikiHome/Release0Point4</a> ?/p> <p>    ?.3.1 ?0.4 几个月的旉里dojo便得到如此大的提高,Ҏ(gu)Dojo|站上的公告Qdojo 0.4.1q几天也p发布了,在几个月后又要出0.5Q按照这效率Q想想一q后的dojoQ真是让人抓狂!</p> <img src ="http://www.aygfsteel.com/weidy/aggbug/80136.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/weidy/" target="_blank">weidy</a> 2006-11-09 13:51 <a href="http://www.aygfsteel.com/weidy/archive/2006/11/09/80136.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Dojo 0.3.1 的国际化支持http://www.aygfsteel.com/weidy/archive/2006/09/19/70460.htmlweidyweidyTue, 19 Sep 2006 03:19:00 GMThttp://www.aygfsteel.com/weidy/archive/2006/09/19/70460.htmlhttp://www.aygfsteel.com/weidy/comments/70460.htmlhttp://www.aygfsteel.com/weidy/archive/2006/09/19/70460.html#Feedback1http://www.aygfsteel.com/weidy/comments/commentRss/70460.htmlhttp://www.aygfsteel.com/weidy/services/trackbacks/70460.html
<script type="text/javascript">                        
        djConfig 
= {
                isDebug: 
true
        };
</script>
<script type="text/javascript" src="../../dojo.js"></script>
<script type="text/javascript" src="../_bootstrap.js"></script>
<script type="text/javascript">
        dojo.locale 
= "fr";
        dojo.requireLocalization(
"g11n.messages","salutations","en");
        dojo.requireLocalization(
"g11n.messages","salutations","fr");
        dojo.requireLocalization(
"g11n.messages","salutations","zh-cn");
        dojo.require(
'dojo.i18n.common');        
</script>

<script type="text/javascript">
        function init() {
                var salutations_default 
= dojo.i18n.getLocalization("g11n.messages""salutations");
                dojo.debug(
"default language: "+salutations_default.hello);
                
                var salutations_zh 
= dojo.i18n.getLocalization("g11n.messages""salutations""zh-cn");
                dojo.debug(
"Chinese: "+salutations_zh.hello);                
        }
        dojo.addOnLoad(init);
</script>


   首先?dojo.locale q个属性,q个属性是一个全局Q作为用户默认的localeQ如果用户不明确指定Qdojo?x)根据浏览器的locale对这个属性赋倹{和Java不同Q目前在dojo中localeq没有对应对象,只是一个String对象Q典型的格式应该?"zh","zh-cn"。注意后者用的是 "-" ,而不是Java中的 "_"?br />   
   现在来看最让h心动?message bundle 机制, 首先分成三步来把message文gl织?

        1) 要徏立一个集中存放message文g的目录,我徏的是 g11n\messages;

        2) 和在java中一PZ同的locale建立存放message文g的文件夹Q比如我建的?en","fr","zh-cn"; q里要注意文件夹的名U必要全部写Q原因是dojo从文件装载消息会(x)把传入的locale属性进?toLowerCase() 的处?晕,不知道作者怎么想的)?br />
        3) 把翻译完q用native2ascii转换好的消息文g攑օ对应的文件夹内。和Java不同的是Qdojo?JSON 格式来组lmessage文g,所以要把property文g转换到JSON格式的js文g, 不过q也很容? 在文件开始的位置加入一?{", l尾的地方加?}", 所有的 "=" 替换?":" , 然后在每一行结֤加入一?," ,最后把文gҎ(gu)jsl尾便可以了。一个典型的JSON格式的文件如?假设文g名叫 salutations.js ) :


{
 hello: 
"Hello",
 dojo: 
"Dojo",
 hello_dojo: 
"%{hello}, %{dojo}!",
 file_not_found:
"The file you requested, %{0}, is not found."
}

 
   把消息文件放好后Q便可以?dojo 中通过 dojo.requireLocalization() 调用q些文g?对应的代码是Q?br />
      
//下蝲需要的locale的消息文件到客户?/span>
dojo.requireLocalization("g11n.messages","salutations","en");
dojo.requireLocalization(
"g11n.messages","salutations","fr");
dojo.requireLocalization(
"g11n.messages","salutations","zh-cn");
//调用国际化包
dojo.require('dojo.i18n.common');  

 
   现在可以调用指定locale?message 了!在示例代码中我D了两个简单的例子Q?br />
   
//调用 dojo.locale 指定的locale中对应的消息文g中 hello 那条消息
    var salutations_default = dojo.i18n.getLocalization("g11n.messages""salutations");
    dojo.debug(
"default language: " + salutations_default.hello);

    
//调用"zh-cn"中 hello 那条消息
    var salutations_zh = dojo.i18n.getLocalization("g11n.messages""salutations""zh-cn");
    dojo.debug(
"Chinese: "+salutations_zh.hello); 


   怎么P非常单吧?

    除了message bundle, dojo q声明要支持其他的一些国际化功能Q比如Date,Number,Currency{等Q在0.3.1中我只发现Date有一定的实现Q但是基本就是对 Javascript Date 对象的几个locale相关的方法进行了一下封装,没有多少实质性的提高Q看来dojo在国际化的支持方面还有很长的路要走。无论如?.3.1中提供的message bundle已经有了一个良好的开端,值得期待?img src ="http://www.aygfsteel.com/weidy/aggbug/70460.html" width = "1" height = "1" />

weidy 2006-09-19 11:19 发表评论
]]>
一条JS正则表达式效率分析及(qing)优化http://www.aygfsteel.com/weidy/archive/2006/08/17/64205.htmlweidyweidyThu, 17 Aug 2006 12:50:00 GMThttp://www.aygfsteel.com/weidy/archive/2006/08/17/64205.htmlhttp://www.aygfsteel.com/weidy/comments/64205.htmlhttp://www.aygfsteel.com/weidy/archive/2006/08/17/64205.html#Feedback0http://www.aygfsteel.com/weidy/comments/commentRss/64205.htmlhttp://www.aygfsteel.com/weidy/services/trackbacks/64205.html    前几天遇C个bugQ在一个填email的文本框Q当用户录入比较长的一D|本后Q比?0位以上)Q页面就L了。检查后发现校验Email的是下面q样一Djavascript代码Q?/p>

  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 />



weidy 2006-08-17 20:50 发表评论
]]>
不能再等了,快把Table换成DIV?/title><link>http://www.aygfsteel.com/weidy/archive/2006/06/01/49766.html</link><dc:creator>weidy</dc:creator><author>weidy</author><pubDate>Thu, 01 Jun 2006 11:22:00 GMT</pubDate><guid>http://www.aygfsteel.com/weidy/archive/2006/06/01/49766.html</guid><wfw:comment>http://www.aygfsteel.com/weidy/comments/49766.html</wfw:comment><comments>http://www.aygfsteel.com/weidy/archive/2006/06/01/49766.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.aygfsteel.com/weidy/comments/commentRss/49766.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/weidy/services/trackbacks/49766.html</trackback:ping><description><![CDATA[  用了四五q的Table排版Q没觉得有什么不好,q一D|间迷上了Dojo,才发现如今已l到了不用DIV不行的年代。还是赶紧跟上潮,把Table换成DIV? 改了几个面Q发现比惌的简单,更是到了用div的甜头。share自己一Ҏ(gu)的l验Q?br /><br />1. 先上|搜一下找点前人经验。推荐两好文:(x)<br /><br />  http://www.glish.com/css/                         "CSS Layout Techniques: for Fun and Profit"<br />  http://www.alistapart.com/articles/practicalcss   "Practical CSS Layout Tips, Tricks, & Techniques"    <br /><br />2. 随便扑և个用DIV+CSS实现Q结构又比较单的|站Q研I一下它的页面结构和CSS。比如我是主要看了下面几个|站Q?br /><br />      CSS花园        ?http://csszengarden.com/       <br />      Eclipse.org        http://www.eclipse.org/<br />      mozilla.com        http://www.mozilla.com/<br /><br />作ؓ(f)世界上CSS高手比武的擂収ͼCSS花园的模板实在多的恐怖,以前都只站在ƣ赏的角度不觉得Q自qIv来,也就只能是挑了一两个看看Q再感慨了一番作者真是好创意好美工。有的是Eclipse.org的首居然基本用的都是mozilla.com的CSSQ对比着q两个网站看更能看出端倪?br /><br />3.  自己上手q吧Q让你的面内容和显C样式彻底分,其实q不难?img src ="http://www.aygfsteel.com/weidy/aggbug/49766.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/weidy/" target="_blank">weidy</a> 2006-06-01 19:22 <a href="http://www.aygfsteel.com/weidy/archive/2006/06/01/49766.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GB18030, 你的产品达标了么Q?/title><link>http://www.aygfsteel.com/weidy/archive/2006/05/30/48993.html</link><dc:creator>weidy</dc:creator><author>weidy</author><pubDate>Tue, 30 May 2006 06:56:00 GMT</pubDate><guid>http://www.aygfsteel.com/weidy/archive/2006/05/30/48993.html</guid><wfw:comment>http://www.aygfsteel.com/weidy/comments/48993.html</wfw:comment><comments>http://www.aygfsteel.com/weidy/archive/2006/05/30/48993.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/weidy/comments/commentRss/48993.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/weidy/services/trackbacks/48993.html</trackback:ping><description><![CDATA[ <p>GB18030 的正式名UCؓ(f)“中文国家标?GB 18030-2000Q信息技?Q?信息交换用汉字编码字W集Q?基本集的扩充”。它是针对在中国出售的所有品制定的政府强制标准要求Q该标准?2001 q?9 ?1 日生效。这也意味着从理Q每个在出售的品都要支持GB18030字编码字W集Q否则就不让卖[嘿嘿Q?zhn)的品达标了么?]?/p> <p>有h曄在他的一blog[ <a >http://blog.cathayan.org/archive/1/2005-7-4</a> ]里非常Ş象的介绍q?GB18030 的历?转脓(chung)_ֽ部分如下Q?/p> <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是强制性标准)<br />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也是前不着村,后不着店,前后兼容性都差)<br />6Q由于以上历史原因,现在是GB2312QGBKQGB18030QUTF-8q存了?br />7Q如果不是万恶的微YQ我们早q上UTF-8了?/p> <p>   或许正是因ؓ(f)微Y和中国之间ؓ(f)GB18030发生了这么多的恩恩怨怨和当年微Y的仓促上阵,直到现在微Y的很多品对GB18030支持的依然不是很好。访问下面的面Q了解MS对GB18030支持情况?qing)下载Windows下的GB18030安装包:(x)</p> <p> <a >http://www.microsoft.com/globaldev/DrIntl/columns/015/default.mspx</a> </p> <p>虽然MS声明在Windows XP ?Windows 2000 中通过"add-on"来支持GB18030Q但是IE 6.0直接昄 List Box、Drop Down Menu、Text Area、Text Field中的GB18030字符依然q是有问题,下面的这文章有相关的介l:(x)</p> <p> <a >http://www-306.ibm.com/software/globalization/gb18030support/retrieve.jsp</a> </p> <p>在IBM的这名?Globalize your On Demand Business"的文章里Q给出的solution是在要显CGB18030的元素上加上cM "STYLE="font-family:'SimSun-18030'"的CSS声明。在当今WEB2.0如火如荼的年代,我们当然要把内容和显C分,在CSS中进行配|!当然实际问题要比q个文档说的略微复杂一点,有下面几个比较明昄问题Q?/p> <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> <p>结QGB18030是个形式大于内容的东西,但是如果惌让你的品理直气壮的再中国销售,略微q旉讄一下还是有必要的?/p> <p> </p> <img src ="http://www.aygfsteel.com/weidy/aggbug/48993.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/weidy/" target="_blank">weidy</a> 2006-05-30 14:56 <a href="http://www.aygfsteel.com/weidy/archive/2006/05/30/48993.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˳</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ո</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ϲ</a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank">ɳ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƺ</a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank">º</a>| <a href="http://" target="_blank">Ͻ</a>| <a href="http://" target="_blank">ʯ¥</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ܱ</a>| <a href="http://" target="_blank">鴨</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʮ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ף</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">佭</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ӣɽ</a>| <a href="http://" target="_blank">֣</a>| <a href="http://" target="_blank">̷</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ĵʡ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">żҽ</a>| <a href="http://" target="_blank">ǹ</a>| <a href="http://" target="_blank">ֶ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>