下载库

首先,下载 Dojo 库:http://www.dojotoolkit.org/downloads

放了方便测试,我将文件将解压到 Web Server 的 "js/dojotoolkit" 文件夹中,如果你愿意,也可以缀上版本号。最后的目录结构应该像下图这样:


明确 dojo.js 文件的路径非常重要。只要 dojo.js 能被正确装入页面,package system 会自动处理对相关模块的引用和依赖。

The Dojo Book,提供了大量的指南和教程,更深入的介绍了获得各种 dojo 不同版本的方式。

也可以从 Google 的公用库引入脚本,如下:http://ajax.googleapis.com/ajax/libs/dojo/1.3.1/dojo/dojo.xd.js

基本框架
下面是一个 dojo 程序的基本框架:


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" 
    "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <title>Dojo Toolkit Test Page</title>    
    
    <!--  装入Dojo 基本库 -->
    <script type="text/javascript" src="js/dojotoolkit/dojo/dojo.js"
        djConfig="parseOnLoad:true, isDebug:true">
       </script>
    
    <script type="text/javascript">
    /* 其他的脚本程序 */
    </script>
    
    <style type="text/css">
    /* 样式表在这 */    
    </style>  
  
    </head>
    <body><!-- 页面内容 -->
        <h1 id="testHeading">Dojo 基本框架</h1>        
        <div id="contentNode">
        <p>一些内容</p>
    </div>
    </body>

</html>

版权声明:本博客文章如非特别注明,均为原创,作者保留所有权利!欢迎转载,转载请注明作者左洸和出处博客园

配置 Dojo 启动参数
dojo在装入时应该进行参数配置,两个最重要的参数是 parseOnLoad 和 isDebug 。第一个参数确定是否在页面装入时解析 dojo 组件和内置标签;第二参数打开或关闭调试信息。有两种配置方式:
第一种方式在 <script> 标签中配置,如下:

<script type="text/javascript" src="js/dojotoolkit/dojo/dojo.js"
    djConfig="parseOnLoad:true, isDebug:true">
  </script>

第二种方式在 dojo.js 装入之前,建立一个全局变量 djConfig,如下:

<script type="text/javascript">
    var djConfig = {
        isDebug:true,
        parseOnLoad:true
    };
</script>
<script type="text/javascript" src="js/dojotoolkit/dojo/dojo.js"></script>

两种方式有同样的效果。

如何开始?
由于各种版本的浏览器对页面装入 "ready" 状态有不同的定义,所以 Dojo 提供了一个 dojo.addOnLoad  函数,程序从这里面开始,如下代码:

// 某个函数
    var init = function(){
        console.log("I run after the page is ready.");    
    };
        //ready 后运行上面的函数
    dojo.addOnLoad(init);
    
    // 这是另一种形式,用匿名函数
    dojo.addOnLoad(function(){
        console.log("I also run, but second. "); 
    });

重要提示:不要用 <body onLoad="someFunc"> 和 window.οnlοad=someFunc 开始你的函数,而应该使用 dojo.addOnLoad(someFunc)

更多
通过 dojo.require() 函数,package system 会自动装入所有你需要的代码。下面的例子将装入一个 Button 和一个 TitlePane,系统会自动找到他们的代码,如下:

dojo.require("dijit.form.Button");
    dojo.require("dijit.TitlePane");
    dojo.addOnLoad(function(){
        dojo.byId("testHeading").innerHTML = "We're on our way!";
        console.log("onLoad fires after require() is done"); 
    });  

每个模块都有自己的 dojo.require() 参数,你可以从 Dijit API pages 找到他们

继续
在上面的例子中,我们第一次用了 dojo.byId() 函数,通过 id 来选择元素,并改变了元素的 innerHTML  值。后面我们将了解选择器。
将上面的代码放到框架中的“其他脚本程序”位置处,然后运行,如果你看到了: "We're on our way",恭喜!
如果出现了错误,可以从 FAQ 查找常见的错误信息。

//==========================================

本文转自左洸博客园博客,原文链接:http://www.cnblogs.com/myqiao/archive/2009/05/14/1456952.html,如需转载请自行联系原作者

Dojo QuickStart 快速入门教程 (2) 基本框架相关推荐

  1. Dojo QuickStart 快速入门教程 (1) Why Dojo

    Dojo 是一个用来构建 Web 应用的 JavaScript 工具包,当然是开源的.它的目标是通过提供一组特别构造的 API 和一系列辅助工具,使你能在较短的时间里把想法变为实现,同时改善你的日常 ...

  2. php yii2 api框架,Yii2框架制作RESTful风格的API快速入门教程

    先给大家说下什么是REST restful REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移. 它首次出现在2000年Ro ...

  3. HealthKit开发快速入门教程之HealthKit框架体系创建健康AppID

    HealthKit开发快速入门教程之HealthKit框架体系创建健康AppID HealthKit开发准备工作 在开发一款HealthKit应用程序时,首先需要讲解HealthKit中有哪些类,在i ...

  4. ​HealthKit开发快速入门教程大学霸内部教程

    ​HealthKit开发快速入门教程大学霸内部教程 ​ ​ 国内第一本HealthKit专向教程.本教程详细讲解iOS中,如何使用HealthKit框架开发健康应用.最后,本教程结合HealthKit ...

  5. BeagleBone Black快速入门教程

    BeagleBone Black快速入门教程 试读样张下载地址:http://pan.baidu.com/s/1bnjJEnP 本教程是国内唯一BeagleBone Black中文教程.本教程全面讲解 ...

  6. C#游戏开发快速入门教程Unity5.5教程

    C#游戏开发快速入门教程Unity5.5教程 试读文档下载地址:http://pan.baidu.com/s/1slwBHoD C#是微软发布的高级程序设计语言,这门语言和C语言一样,已经成为了大学计 ...

  7. python快速入门答案-总算懂得python脚本快速入门教程

    PyQt5是基于Digia公司强大的图形程式框架Qt5的python接口,由一组python模块构成.PyQt5本身拥有超过620个类和6000函数及方法.在可以运行于多个平台.PyQt5拥有双重协议 ...

  8. sklearn快速入门教程:(一)准备工作

    sklearn快速入门教程 – 准备工作 1. 前言 sklearn全称 scikit-learn,它是一个集成了目前市面上最常用的机器学习模型的库,使用起来非常轻松简单,因此获得了广泛的应用. 从官 ...

  9. apache thrift_Apache Thrift快速入门教程

    apache thrift Thrift是一种跨语言RPC框架,最初是在Facebook上开发的,现在作为Apache项目开源. 这篇文章将描述如何以不同的模式(例如阻塞,非阻塞和异步)编写Thrif ...

最新文章

  1. centos7grub2 引导win10
  2. CentOS 查看IP,端口 修改IP,打开端口生效
  3. 主板支持最大内存查看软件
  4. python中的time库安装步骤-python中time模块需要安装么
  5. php蜘蛛池搭建教程,【小旋风教程】万能蜘蛛池x4安装教程 _ 惠州SEO
  6. Java的多线程和线程池的使用,你真的清楚了吗?
  7. VTK:图片之ImageCorrelation
  8. ADO.NET数据库
  9. 工作219:富文本查看 编辑状态显示
  10. AIML元素详细说明
  11. 【原】git命令行查看全部分支与远程分支不同步问题
  12. EMNLP 2021-多模态Transformer真的多模态了吗?论多模态Transformer对跨模态的影响
  13. fastreport文本字数太多换行_Python教程第10篇:聊聊print换行输出和重复多次打印...
  14. php urledcode_用JavaScript实现PHP的urldecode函数
  15. 【Qt串口波形绘图】基于QCustomPlot的串口波形绘图上位机,源码开放
  16. 谷歌爆苹果 Image I/O 存重大漏洞,无辜用户躺枪
  17. 如何在秋招中拿到offer?
  18. linux 解压 WinRAR 压缩文件
  19. python开发一个自动批改本地Word作业的程序
  20. 百度谷歌淘宝自定义搜索乱码问题的解决

热门文章

  1. 隐藏与禁用硬盘分区——利用工具或注册表
  2. HTML5新特性-自定义属性(data-set)
  3. C# Web实时消息后台服务器推送技术-GoEasy
  4. android中xmlns:tools属性详解
  5. 使用c#操作IBM WebSphere MQ
  6. python直方图拟合曲线_在直方图python中拟合非标准化高斯
  7. 孪生再世代表数字几_《孪生双鱼座》
  8. java map的理解_java中的hashmap理解
  9. wamp php文件怎么创建数据库,phpmyadmin怎么创建数据库
  10. 服务器:Nginx - 最小配置说明