快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

bet356体育在线靠谱吗_酒文化网进入



Dojo 是一种盛行的开源 JavaScript 对象包,为基于 web 利用的 JavaScript 快速开拓而设计,它已经被广泛地应用在 Web 开拓中。Dojo 供给了富厚的 Widget,让您更轻易地为 Web 页面添加动态能力,提升 Web 利用法度榜样的可用性和交互能力,同时前进了法度榜样员的开拓效率。本文主要先容 Dojo Widget 在项目中的利用以及一些利用历程中的实践履历,重点阐述几种在 web 页面初始化 Dojo widget 的要领,假如一个繁杂页面中包孕很多的 widget,那么初始化所有这些 Widget 将会占用很多的光阴(这是由于每一个 widget 都邑载入所有相关的 JavaScript 和 CSS 文件,并且会从新构建 widget 布局),文本将针对此类情形导致初始化速率过慢,影响用户体验的问题提出了一种办理规划。着末本文给出了每种初始化措施的测试数据,以方便用户去衡量和选择某种初始化措施。

什么是 Dojo ?

Dojo 是一个用 JavaScript 说话实现的开源 DHTML 对象包,是基于 CSS 和 JavaScript 实现的一个通用类库。Dojo 的目标是办理开拓 DHTML 利用法度榜样碰到的那些,经bet356体育在线靠谱吗久存在 、历史问题。Dojo 在内部处置惩罚了 DHTML 在不合浏览器上显示的差异,这让法度榜样员大年夜大年夜节省了开拓历程针对不合浏览器进行调试和容错的开销。Dobet356体育在线靠谱吗jo 让你更轻易使 web 页面具有动态能力,或在任何稳健的支持 JavaScript 说话的情况中发挥感化。dojo 是一个很好的根基架构。它可以异常有效地分离页面中的 Structure、Presentation、Behaviour,这对付实现 Ajax 组件 unobtrusive 的目标异常有赞助。

什么是 Dojo Widget?

Widget 是 Dojo 供给组件,将最常用的功能封装成为一个现成的工具供给给应用者,并且供给了相关的属性和基础的措施、事故,应用者还可以根据自己应用的必要添加新的属性,Dojo 的控件既维持了页面元素的基础功能,同时还供给了许多令人愉快的高档功能,它可以大年夜大年夜提升你的 web 利用法度榜样交互能力以及功能上的前进,使用它的底层 API 可以使你更轻易的建立风格统一的、友好的用户界面。

若何初始化 Dojo 控件?

那么若何才能在你的 Web 利用中初始化一个 Dojo 控件? 这里向大年夜家先容 Dojo 供给的两种初始化道路 : 声明要领和编程要领 .

声明要领初始化 Dojo 控件

也称作静态加载要领,在 HTML 的基础控件上添加 dojoType 属性,给该属性赋响应的值,这个属性值是 Dojo 定义的一个控件的类名,由包名加上类名的形式组成,例如:dijit.form.TextBox, 这样,在加载页面的历程中 Dojo 会将指定了 dojoType 的 HTML 控件转为一个 dojo 控件 , 如

在页面加载完成后会转变为一个 dojo 文本控件。

那么,一个 Dojo 控件是若何孕育发生的呢?我们在页面中要创建 Dojo 控件的时刻,必要引用“dojo.parser”这样一个工具,

清单 1. 引入 dojo.parser 工具

页面装载的历程中,应用 djConfig="parseOnLoad:true"来指定在页面加载完成后确定履行解析功能,dojo.require("dojo.parser") 是用来加载详细履行解析 Dojo 标记的工具,该工具供给了一些的将 Dojo 定义在 HTML 元素上的属性(比如:dojoType)解析成浏览器可以识别履行的代码的措施。dojo.parser 在天生 Dojo 控件的历程中起到了关键性的感化,他会遍历页面掏出有 dojoType 属性的 HTML 元素,根据 dojoType 的值来初始化 dojo 控件工具 , 同时会把页面中该元素的属性值做为参数通报给初始化措施,Dojo 把参数值转换为自己必要的类型。例 :

在页面加载的时刻 dojo 会初始化 dijit.form.DateTextBox 类型的控件,同时会把 value="2009-04-29"做为参数传给初始化措施 , 但因为 dijit.form.TimeTextBox 对应的 value 属性的值是 Date 类型,以是 dojo.parser 会对其进行转换 , 此时会用到 dojo 日期转换功能,这里不做具体先容 , 代码如下:

清单 2. 声明要领初始化 dojo 控件

图 1. 声明要领初始化 dojo 控件效果

编程要领始化 Dojo 控件

也称作动态加载要领,Dojo 容许以加倍面向工具的要领来创建和应用 Dojo 控件,上面例子中的日期控件,我们可以采纳如下要领来初始化

new dijit.form.DateTextBox({"id":"dojoDatetextbox01","value":dojo.date.locale.parse("2009-04-29",{selector:"date"})},dojo.byId("dojotext01"));

该措施有两个参数 , 第一个为 dojo 工具属性值的一个聚拢,第二个参数指出了 dojo 控件在页面上的位置,在此例中 id 值为" dojotext01"的 HTML 元素将被调换为 Dojo 控件 , 同时原本的 HTML 控件将被移除。

第一个参数中我们同样有两个属性 id 和 value, 因为编程要领定义的 Dojo 控件不再颠末 dojo.parser 处置惩罚,是以 value 属性的值必须这天期类型 ,

我们用 dojo.date.locale.parse 措施来将字符串转换为 Date 类型,此处我们会看到同样是把字符串转换为 Date 类型,具体代码如下 :

清单 3. 编程要领初始化 dojo 控件

应用编程要领,就不必要 dojo.parser 来介入到 Dojo 控件的初始化历程中,仅用 Dojo 供给的要领构建一个日期控件工具,这一历程类似于 Java 说话中,经由过程类的构造措施,来实例化工具的历程。

声明要领和编程要领初始化的 Dojo 控件在页面中展示的效果是一样的,没有任何的差别。声明要领定义 Dojo 控件实现起来对照简单,而且 dojo.parser 赞助我们做了bet356体育在线靠谱吗很多帮助事情。编程要领轻细繁杂些,但比拟声明要领 , 编程要领更机动,我们可以很方便的节制它的初始化历程。

两种要领结合初始化 Dojo 控件

当然有些环境下会有这种需求 , 既想拥有编程要领的机动性,又想拥有声明要领的简单性,比如我想自己来节制什么时刻天生 dojo 控件,又不想自己写措施来bet356体育在线靠谱吗进行参数值转换,可经由过程如下要领来实现,

在 html 代码中不添加 dojoType 属性,在我们必要的时刻,经由过程编程要领来指定 html 控件的 dojoType 属性值,然后经由过程调用 dojo.parser.instantiate() 措施,来解析 html 代码天生 dojo 控件,这样我们既能动态的节制 Dojo 控件的天生,又能使用 dojo.parser 的强大年夜功能,对付上面提到的例子我们可采纳如下代码实现 :

清单 4. 两种要领结合页面代码

其页面效果同前两种要领完全一样。经由过程这种要领,装载页面的时刻,页面中的节点整个是基础的 HTML 元素,当此中的节点相应了预先定义的 onfocus() 事故之后,动态的去调用创建 Dojo 控件的措施,在这个历程中经由过程调用 dojo.parser() 措施来解析响应的 Dojo 控件。由此可见,应用这种要领在页面初始化的时刻 HTML 代码与 Dojo 没有发生任何关系,在装载历程中在天生 Dojo 控件方面的机能耗损将微乎其微,只是加载到页面响应的 JavaScript 代码,这样可以大年夜大年夜前进页面装载bet356体育在线靠谱吗的速率。

假如在项目中大年夜量利用 Dojo 控件,页面解析 widget 的光阴因其数量的增添会变得很长,这种环境下就必要仔细斟酌页面装载的效率问题,页面装载所耗损的光阴是和页面中节点的数量成正比的,由于 Dojo 会遍历页面中所有的节点来查验是否该节点是一个 Dojo 控件,纵然我们没页面中没有定义任何的 Dojo 控件,遍历页面的操作依然无法避免,那么,避免无谓的机能丧掉和优化 Dojo 控件的创建历程可以显明的提升页面加载的机能。

JS 调试对象简介

在阐发页面加载历程中我们必要引入一些响应的对象来监测页面履行的历程,信托大年夜家对 Firebug 都已经异常的懂得了,在本文中我们引用 Firebug 1.4-Alpha 这个版本,以下是下载链接的地址:http://getfirebug.com/releases/index.html

图 2. 下载页面

点击 end-user versions,就可以看到可用版本下载的链接提示,新版本给我们带来了更强大年夜的收集监视功能,至于其他方面的新体验,这里不进行胪陈,有兴趣的读者可以深入钻研。Firebug 在收集这个选项中进行了很大年夜的改进,让我们体验一下加强的收集监控功能, 打开 Firebug 窗口,如下图:

图 3. Firebug 应用界面

可以看到新的收集选项内容加倍富厚了,在该视图中我们可以看到该页面向办事器端发送了哪些哀求以及相应光阴,点击每一个哀求,我们可以看到哀求的具体信息,提示给出了哀求的路径、状态,哀求文件的大年夜小,在页面装载历程中每一个阶段所耗损的光阴,下面简单先容一下图示的含义:

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: