BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Dojo 1.4RC1发布:性能提升、新的Editor插件

| 作者 张凯峰 关注 1 他的粉丝 发布于 2009年11月29日. 估计阅读时间: 3 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

著名开源Javascript工具库Dojo在两次发布1.4 beta的一个月后,终于在近日释出1.4 RC1,同时也期望这是唯一一次的RC版本。

1.4RC1的release notes宣称支持的浏览器包括:

  • Firefox 3和3.5。不再支持Firefox 2。
  • 最新的Safari 4和Chrome 3
  • IE6、IE7和IE8
  • 最新的Opera 10(只包括Dojo core)
  • 在上述全部浏览器中支持键盘操作(之前不包括Safari和Chrome)
Dojo部分的重要更新包括:
  • 新增IO管道主题,这些主题会在dojo使用的IO管道(比如dojo.xhr*()、dojo.io.script.get()和dojo.iframe.send())事件中通过dojo.publish发布出来。
  • 新增dojo.cache方法,来获取或存储与module和url相关的字符串内容,这个方法也是dijit的templatePath方法功能的通用版本。开发者可以使用这个方法来从文件中获取所需的内容。
  • 把dojo._contentHandlers开放出来,允许开发者自定义处理IO返回内容的方式。
  • 不 再推荐使用dojo.coord方法,因为返回的结果对象是混合了dojo.position和dojo.marginBox的内容。其中的x/y基于边 框盒子模型,而w/h却代表了外边距盒子模型,这引起了大量的误解。现在dojo.position方法的新版本运行得更快。
对Dijit widget部分的重要更新包括:
  • dijit.Editor,修正了大量的bug,同时具备更优的扩展性,并在Opera这样的浏览器中具有更佳的性能表现。另外还增加了一些新的插件,包括全屏、查看源码、打印和新页面。
  • dijit.Dialog,支持显示多个对话框。
  • dijit.Tree,支持多字符搜索,输入“al”会直接跳到以“al”开头的节点。支持多父节点,只要不会引起死循环。添加onLoad()事件支持。

DojoX部分的更新则更多,这里恕不一一列举,具体细节请查看release notes。

在从1.3升级到1.4的过程中,用户一般会碰到下面这些问题:

  1. 如果在自己的widget中使用了templatePath,需要把它们更新成通过dojo.cache()使用templateString,或者至少要把templateString设置成null以覆盖掉父类对templateString的设置。
  2. 在定义isLayoutContainer为true后,ContentPane表现得更像是一个布局控件,这可能会破坏掉一些自定义子类的功能。
  3. widgetsInTemplate的开始代码发生了变化,如果你有一个自定义部件手动添加了子部件到自己的DOM中,一定要把这些子部 件添加到this._startupWidgets[]和this._supportingWidgets[]中。或者你也可以把 _earlyTemplatedStartup设置成true来恢复成1.3的行为。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

afu又出手了。。。 by Wang Frank

RT

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT