DOJO新增DOJO未加载

DOJO新增DOJO未加载,dojo,Dojo,我不熟悉dojo。我试图设置一个示例Dojo页面,但Dojo组件没有加载。相反,我得到了以下错误 ReferenceError:dojo未定义dojo.require(“dijit.form.Dialog”) 但是应用了CSS,class=“dijitHidden”隐藏了DIV 以下是我的HTML: <!DOCTYPE html> <html> <head> <link rel="stylesheet" type="text/css" href="dij

我不熟悉dojo。我试图设置一个示例Dojo页面,但Dojo组件没有加载。相反,我得到了以下错误

ReferenceError:dojo未定义
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>

dojoConfig={
是的,
parseOnLoad:true,
异步:true
//傅:“酒吧”
};
require(“dojo.Dialog”);
函数showDialog(){
dijit.byId(“术语”).show();
}
函数hideDialog(){
dijit.byId(“术语”).hide();
}
你好,Dojo
欢迎来到Dojo
查看条款和条件
“数字”对话框出现
我同意

评论中也已回答,dojoConfig定义得太晚了。此外,您还需要使用require:


require([“dijit/form/Dialog”],函数(formDialog){…})

我假设您使用的是Dojo 1.6或其他不支持AMD的版本。 代码看起来不错,可能您需要将language=“text/javascript”更改为type=“text/javascript”,或者您可以在下一行使用以下命令进行调试:

console.log(dojo);
alert("Wait");
并检查dojo是否正确加载

我还建议,如果目前还没有任何东西可以使用,请使用CDN dojo库版本进行检查

<script src="//ajax.googleapis.com/ajax/libs/dojo/1.6.3/dojo/dojo.xd.js"></script>

dojoConfig必须在呈现dojo.js文件之前出现


您的编码风格显示DojoCSS和JavaScript是分开的。CSS正确加载,类控制元素的显示,这并不意味着JavaScript已经加载。我猜dojo.js文件的路径不正确,并且它不在名为dojo的目录中,该目录与HTML页面位于同一目录中。使用
async:true
时是否定义了dojo?我以为你只得到了
require
,而你必须通过它来获取你所需要的任何东西……我不知道这是否重要,但我在dojo confighi Antony之后加入了dojo.js,是的,你是对的。我在FF中使用了web控制台,可以看到dojo.js正在正确加载。嗨,大卫,我打算用更多的东西。。。。但如果他使用AMD的话,他会被困在这里。取决于dojo的版本,否则dojo将存在(他确认加载了dojo.js)