推薦dojo學習筆記
2024-09-06 12:42:52
供稿:網友
在引用dojo.js前,最好聲明djConfig對象,以便在加載dojo.js時能夠取得所設置的值,雖然在0.3版本以后dojo支持在加載后設置,但是強烈建議你把聲明djConfig的代碼作為第一段script:
一個完整的djConfig對象定義如下(值均為dojo的默認值)
js 代碼
var djConfig = {
isDebug: false,
debugContainerId: "",
bindEncoding: "",
allowQueryConfig: false,
baseScriptUri: "",
parseWidgets: true
searchIds: [],
baseRelativePath: "",
libraryScriptUri: "",
iePreventClobber: false,
ieClobberMinimal: true,
preventBackButtonFix: true,
debugContainerId同樣也是與調試有關的,如果不指定的話,調試信息將會直接利用 document.write輸出,這樣可能會破壞頁面的整體布局,所以你可以指定任何一個可以作為容器的html元素的id作為調試信息輸出容器
allowQueryConfig,這個屬性指明 dojo是否允許從頁面url的參數中讀取djConfig中的相關屬性,當值為true時,dojo會優先從url參數中讀取djConfig的其他屬性,比如: http://server/dojoDemo.htm?djConfig.debugContainerId=divDebug
baseScriptUri,一般不需要設置,dojo會自動根據你引用dojo.js的路徑設置這個值,比如,<script src="../dojo/dojo.js" type="text/javascript"></script>,自動獲取的值便是 ../dojo/
ps: 如果你有多個工程需要同時引用dojo.js的話,建議也把dojo當作一個獨立的工程,引用的時候采用絕對路徑就可以了
parseWidgets,這個是可以控制dojo是否自動解析具有dojoType的html元素為對應的widget,如果你沒有使用任何Widget,建議設置為false以加快dojo的加載速度
searchIds,這是一個字符串數組,定義了所有需要解析為widget的html元素的ID,如果ID不在其中的html元素是不會被解析的,當數組為空數組時,則所有具有dojoType的元素都會被解析
還有一個bindEncoding,是用來設置默認的bind請求的編碼方式。
dojo.raise拋出一個異常
dojo.errorToString將異常轉換為字符串
js 代碼
try {
dojo.raise("打印失敗", new Error("文件不存在"));
} catch(e)
{
alert(dojo.errorToString(e));