Dojo QuickStart 快速入門教程 (2) 基本框架

下載庫

首先,下載 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,如需轉載請自行聯系原作者


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/280759.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/280759.shtml
英文地址,請注明出處:http://en.pswp.cn/news/280759.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

攤牌了,.NET開發者,準備賦能未來

hi&#xff0c;這里是桑小榆。一名.net開發&#xff0c;從19年畢業至今一直從事相關技術已近4年。發展至今&#xff0c;很有必要分享分享我的經歷以及對于.net開發的看法和見解。篇幅有些長&#xff0c;無論你是學生&#xff0c;職業人&#xff0c;.NET開發者還是其他語言開發者…

網絡爬蟲練習

1.利用requests.get(url)獲取網頁頁面的html文件 import requests newsurlhttp://news.gzcc.cn/html/xiaoyuanxinwen/ res requests.get(newsurl) #返回response對象 res.encodingutf-8 print(res.text) 2.利用BeautifulSoup的HTML解析器&#xff0c;生成結構樹 import reques…

BZOJ 3434 時空穿梭

題目鏈接&#xff1a;http://www.lydsy.com/JudgeOnline/problem.php?id3434 題意&#xff1a; 思路&#xff1a; const int mod10007; const int N100005;int g[22][N]; int C[N][22],mou[N]; int h[22][N][13];int prime[N],cnt; int tag[N];void init() {int i,j;mou[1]1;f…

powershell /遍歷/psobject/字符串轉換Json/json數組操作

讀取json文檔 $json (Get-Content "C:\HDDList.json" -Raw) | ConvertFrom-Json $select$json.Content.selected[0] $HddCoun$json.Content.normal.Count 遍歷數組 foreach($str in $json.versions) { echo "value: $str" } json數據轉換psobject.pro…

plex實現流媒體服務器_如何從Plex Media Server離線查看下載和同步媒體

plex實現流媒體服務器Streaming content from your Plex Media Server is great, but sometimes—like when you’re going to be offline or stuck with cruddy internet speeds while traveling—there’s no substitution for having a copy of the media stored on your de…

.NET Conf 2022?大會日程全曝光!!前沿、硬核、創意.....精彩就等你來!!

倒計時2天一場規模宏大&#xff0c;內容硬核&#xff0c;大咖齊聚的.NET 領域年度最大的盛會即將開幕.NET Conf 2022 12月3日-12月4日開源 安全 賦能誠邀您的加入立即掃碼預約加入.NET年度盛宴&#xff01;&#xff01;.NET Conf China 2022.NET Conf China 2022是面向開發人員…

SpringMVC 數據的格式化、JSR 303數據校驗和國際化

SpringMVC 數據的格式化、JSR 303數據校驗和國際化轉載于:https://www.cnblogs.com/lusufei/p/7400963.html

C# 對程序窗口進程和進程ID

獲取當前激活窗口&#xff08;頂置&#xff09; GetForegroundWindow() [DllImport("user32.dll")]public static extern IntPtr GetForegroundWindow();[DllImport("user32.dll", EntryPoint "GetWindowText")]public static extern int GetW…

Linux下SSH遠程連接斷開后讓程序繼續運行解決辦法

screen -S yourname #新建一個叫yourname的sessionscreen -r yourname #回到yourname這個sessionscreen -X -S [yourname # you want to kill]quit #刪除無用的screen&#xff0c;使用時不用加中括號 screen -ls #列出當前所有的session screen -d yourname #遠程detach某個ses…

網游的服務器瓶頸

1.服務器的數量。 2.服務器的I/O瓶頸。 3.游戲當中的突發性高并發量。 4.CPU主頻。

誰說.NET沒有GC調優,只改一行代碼就讓程序不再占用內存

經常看到有群友調侃“為什么搞Java的總在學習JVM調優&#xff1f;那是因為Java爛&#xff01;我們.NET就不需要搞這些&#xff01;”真的是這樣嗎&#xff1f;今天我就用一個案例來分析一下。昨天&#xff0c;一位學生問了我一個問題&#xff1a;他建了一個默認的ASP.NET Core …

wmi服務或wmi提供程序_什么是WMI提供程序主機(WmiPrvSE.exe),為什么使用那么多的CPU?...

wmi服務或wmi提供程序The WMI Provider Host process is an important part of Windows, and often runs in the background. It allows other applications on your computer to request information about your system. This process shouldn’t normally use many system re…

C# 快捷鍵/hotkey簡單例子

1.導入dll [System.Runtime.InteropServices.DllImport("user32.dll")] //申明API函數public static extern bool RegisterHotKey(IntPtr hWnd, // handle to windowint id, // hot key identifieruint fsModifiers, // key-modifier optionsKeys vk // virtual-key …

POJ 3233

矩陣分治 注意不要用 (*this) 會改變原值 #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> #include <cstdlib> using namespace std; int n, p, k; struct Matrix{int num[35][35];voi…

zookeeper和etcd有狀態服務部署

zookeeper和etcd有狀態服務部署實踐 docker etcd zookeeper kubernetes 4k 次閱讀 讀完需要 78 分鐘 0 一. 概述 kubernetes通過statefulset為zookeeper、etcd等這類有狀態的應用程序提供完善支持&#xff0c;statefulset具備以下特性&#xff1a; 為pod提供穩定的唯一…

正在創建系統還原點_如何使Windows在啟動時自動創建系統還原點

正在創建系統還原點By default, System Restore automatically creates a restore point once per week and also before major events like an app or driver installation. If you want even more protection, you can force Windows to create a restore point automaticall…

WinForm(十六)綁定

在WinForm中&#xff0c;有很多添加和修改數據的場景&#xff0c;一般的做法是當點擊“添加”按鈕時&#xff0c;收集各控件的值&#xff0c;然后賦值給實體類的各個屬性&#xff0c;然后再完成保存工作。在修改時&#xff0c;首先把實體的原值&#xff0c;一個個賦值給控件&am…

在ubuntu 16.04里使用python—scrapy將爬取到的數據存到mysql數據庫中的一些隨筆

一、將爬取的數據保存到mysql數據庫的代碼&#xff08;已經能將爬取的數據保存到json文件&#xff09; &#xff08;1&#xff09;編輯Pipeline.py文件 &#xff08;2&#xff09;編輯settings.py文件 二、將數據保存至mysql數據庫出現的問題 &#xff08;1&#xff09;在將數據…

powershell XML操作

1.直接加入xml結構 加入<title>是為了后續能直接添加其他node&#xff0c;否則&#xff0c;后續操作可能無法AppendChild $xml "<?xml version1.0 encodingUTF-8?><case><title>please check each point</title></case>"$xm…

十大經典排序算法(動圖演示)

轉自&#xff1a;https://www.cnblogs.com/onepixel/articles/7674659.html 0、算法概述 0.1 算法分類 十種常見排序算法可以分為兩大類&#xff1a; 非線性時間比較類排序&#xff1a;通過比較來決定元素間的相對次序&#xff0c;由于其時間復雜度不能突破O(nlogn)&#xff0c…