我是新來的道場。我試圖設置一個示例Dojo頁面,但Dojo組件未加載。相反,我得到以下錯誤DOJO dojo的新手無法加載
ReferenceError: dojo is not defined
dojo.require("dijit.form.Dialog");
但CSS被應用,class =「dijitHidden」隱藏DIV。
下面是我的HTML:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="dijit/themes/tundra/tundra.css" />
<link rel="stylesheet" type="text/css" href="dojox/grid/resources/Grid.css">
<link rel="stylesheet" type="text/css" href="dojox/grid/resources/tundraGrid.css">
<script language="text/javascript" src="dojo/dojo.js" ></script>
<script>
dojoConfig = {
isDebug: true,
parseOnLoad: true,
async: true
//foo: "bar"
};
</script>
<script>
dojo.require("dojo.Dialog");
function showDialog(){
dijit.byId("terms").show();
}
function hideDialog(){
dijit.byId("terms").hide();
}
</script>
<meta charset="utf-8">
<title> Hello Dojo</title>
</head>
<body>
<h1> Welcome to Dojo</h1>
<div id="contentDiv">
<button onclick="showDialog()" > view terms and conditions</button>
<div class="dijitHidden">
<div data-dojo-type="digit.Dialog" style="widht:600px" data-dojo-props="title:'terms and conditions'" id="terms">
Digit Dialog Box Appears
<button onclick="hideDialog();"> I Agree</button>
</div>
</div>
</div>
</body>
</html>
CSS和JavaScript是分開的。僅僅因爲CSS加載正確,並且類控制着元素的顯示,並不意味着JavaScript已經加載了。我猜想dojo.js文件的路徑不正確,並且它不在位於與HTML頁面相同的目錄中的名爲dojo的目錄中。 –
dojo在使用'async:true'時被定義了嗎?我以爲你只有'需要',你必須通過那個拉你需要的東西... –
我不知道這是否重要,但我包括道場配置後dojo.js – Mike