dojo之配置dojoconfig
官方教程:Configuring Dojo with dojoConfig
例子:
<-- set Dojo configuration, load Dojo -->
<script>
dojoConfig= {
has: {
"dojo-firebug"
:
true
},
parseOnLoad:
false
,
foo:
"bar"
,
async:
true,
aliases:[
["ready", "dojo/domReady"],
["registry","dijit/registry"],
["dialog","dijit/Dialog"],
["parser","dojo/parser"]
],
packages: [{
name: "js",
location: "/js"
}],
locale: location.search.match(/locale=([\w\-]+)/) ? RegExp.$1 :
"en-us"
};
</script>
<script src="http://blog.163.com/mqsy_yj/blog/http://ajax.googleapis.com/ajax/libs/dojo/1.7.1/dojo/dojo.js">
</script>
<script>
// Require the registry, parser, Dialog, and wait for domReady
require([
"registry"
,
"parser"
,
"dialog"
,
"ready!"
],
function
(registry, parser) {
// Explicitly parse the page
dojo.
parser.parse();
// Find the dialog
var
dialog = registry.byId(
"dialog"
);
// Set the content equal to what dojo.config is
dialog.set(
"content"
,
"<pre>"
+ dojo.toJson(dojo.config,
true
) +
"</pre>"
);
// Show the dialog
dialog.show();
});
</script>
<!-- and later in the page -->
<
div
id
=
"dialog"
data-dojo-type
=
"dijit.Dialog"
data-dojo-props
=
"title: 'dojoConfig / dojo.config'"
></
div
>
dojoConfig用于设置一些在Dojo运行时的选项和默认的行为方式。
在上面的代码中,首先定义dojoConfig设置一些属性,然后加载dojo.js,如果这个过程反过来,那dojoConfig的配置则无效。
data-dojo-config
=
"has:{'dojo-firebug': true}, parseOnLoad: false, foo: 'bar', async: true"
>
</script>
这是另一种写法,等同于前一种。前一种是写在一个单独的script块中,后一种是作为script标签的一个属性。个人认为前一种比较好,如果需要配置的内容比较多时,前一种会更清楚直观,容易理解。
下面说一些配置项。
has()用来设置一些Dojo支持的系统特性。
has: {
"dojo-firebug"
:
true
,//加载Dojo版的Firebug调试环境,如果浏览器没有自带调试工具,可以用这个
"dojo-debug-messages"
:
true//显示调试信息,针对于一些废弃的或测试中的功能特性在运行时的信息
}
另外还有debugContainerId,用于在页面显示debug控制台界面的地方;popup,在弹出窗口中显示debug控制台,而不是在当前页面中。
Loader Configuration
加载时一些常用选项
packages: [{
name:
"myapp"
,
location:
"/js/myapp"
}]
//提供包名及其路径
aliases: [
// [alias name, true name]
[
"cookie"
,
"dojo/cookie"
]
]
//设置别名
async:true/false/
legacyAsync
//是否异步加载
parseOnLoad:true/false
//是否在DOM和所有初始化完成后由dojo.parser解析页面
本地化与国际化locale: location.search.match(/locale=([\w\-]+)/) ? RegExp.$1 :
"en-us"
上面代码会在地址中查找参数locale=xx,如http://dojotoolkit.org/documentation/tutorials/1.7/dojo_config/demo/localeConfig.html?locale=zh,这里参数locale=zh
require([
"dojo/date/locale"
,
"dijit/Dialog"
,
"dojo/i18n"
,
"dojo/domReady!"
]
,
function
(locale, Dialog)
{
var now = new Date();
var dialog = new Dialog({
id: "dialog",
title: "Today: " + locale.format(now,{
formatLength:"full",
selector:"date"
})
}).placeAt(dojo.body());
dialog.startup();
dialog.set("content","<pre>" + dojo.toJson(dojo.config,true) + "</pre>");
dialog.show();
});
上面代码中将日期格式进行本地化放在Dialog的标题栏中。如果没有找到locale=xx,则默认为en-us。
转载自:http://www.cnblogs.com/tiandi/p/3415897.html
dojo之配置dojoconfig的更多相关文章
- dojo 五 配置dojoconfig
官方教程:Configuring Dojo with dojoConfig例子: <-- set Dojo configuration, load Dojo --> <script& ...
- 使用dojoConfig配置dojo(翻译)
http://dojotoolkit.org/documentation/tutorials/1.10/dojo_config/index.html dojoConfig对象(原来是djConfig对 ...
- Configuring Dojo with dojoConfig - The Dojo Toolkit
转载自Dojo官网 Configuring Dojo with dojoConfig The dojoConfig object (formerly djConfig) allows you to s ...
- Dojo: Quick Start
1.Dojo学习地址 2.Dojo快速开始 2.1.Dojo引入 2.2.指定Dojo模块的位置 2.3.模块加载require 3.查找Dom节点 3.1.根据id查找dom节点 3.2.根据c ...
- Dojo初探
Dojo 是一个由 Dojo 基金会开发的 Javascript 工具包, 据说受到 IBM 的永久支持,其包括四个部分: dojo, dijit, dojox, util dojo: 有时也被称作 ...
- dojo框架笔记
一.模块定义 1.定义只含值对,没有任何依赖的模块(moudle1.js) define({ color: "black", size: "unisize" } ...
- ArcGIS API for JavaScript与 npm
在4.7版本中,不仅增加了WebGL的渲染支持(渲染前端速度加快,渲染量也加大).增强了ES6中的Promises语法支持,还支持了npm管理及webpack打包,实属喜讯. “意味着可以不经过esr ...
- ArcGIS Javascript API 加载高德在线地图扩展
利用ArcGIS JavaScript API加载高德在线地图的扩展 /** * Created by WanderGIS on 2015/7/15. */ define(["dojo/_b ...
- arcgis api for js入门开发系列一arcgis api离线部署
在我的GIS之家QQ群里,很多都是arcgis api for js开发的新手,他们一般都是GIS专业的学生,或者从计算机专业刚刚转向来的giser,他们难免会遇到各种webgis开发的简单问题,由于 ...
随机推荐
- IOS开发之----代码块的使用(二)
iOS4引入了一个新特性,支持代码块的使用,这将从根本上改变你的编程方式.代码块是对C语言的一个扩展,因此在Objective-C中完全支持.如果你学过Ruby,Python或Lisp编程语言,那么你 ...
- CLR查找和加载程序集 z
C#开发者在开发WinForm程序.Asp.Net Web(MVC)程序等,不可避免的在项目中引用许多第三方的DLL程序集, 编译后引用的dll都放在根目录下.以我个人作品 AutoProject S ...
- RobotFramework自动化1-环境搭建
前言 Robot Framework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行. Robot Fram ...
- iframe在ie和firefox中的高度兼容性问题解决
1.问题描述: <iframe src="p_photo_cont_iframe.html" name="iframe" width="700& ...
- jquery 根据name获取元素的问题
我要获取name属性为test的元素 但是这个test是赋值给变量的 如var name='test'; 即要获取name属性为变量name的元素 请问jquery怎么写? $("input ...
- easyui中使用的遮罩层
easyui 的 dialog 是继承自 window的,而 window中有modal这样的属性(见参考资料),就是用于打开模态的窗口的,也就是你说的有遮罩层的窗口.所以不需要额外的代码,仅需在di ...
- 关于Themleaf学习总结
此篇记录学习Themleaf测试的相关用例: study01 Thymeleaf 的HelloWorld级别的例子 简单介绍Thymeleaf的工作流程 study02 使用spring.thymel ...
- Informatica 常用组件Source Qualifier之七 输入过滤器
通过输入源过滤器,可以降低 PowerCenter 查询的行数.如果在源过滤器中包括字符串 "WHERE" 或较大对象,PowerCenter 将使会话失败. 源限定符转换包括默 ...
- std::vector利用swap()函数进行内存的释放【转】
首先,vector与deque不同,其内存占用空间只会增长,不会减小.比如你首先分配了10,000个字节,然后erase掉后面9,999个,则虽然有效元素只有一个,但是内存占用仍为10,000个.所有 ...
- XML中PCDATA与CDATA的区别
XML中PCDATA与CDATA的区别 2011-02-10 19:27:25| 分类: XML | 标签:xml中pcdata与cdata的区别 字号:大中小 订阅 所有 XML 文档中 ...