Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Dijit第一教程_Javascript_Dojo - Fatal编程技术网

Javascript Dijit第一教程

Javascript Dijit第一教程,javascript,dojo,Javascript,Dojo,我知道这将是一个非常愚蠢的问题,但自从我上次开发javascript以来,已经过去了几年。 我想再复习一下,所以我决定学一些道场。 问题是我无法让这个简单的Dijit示例正常工作 据我所知,它应该产生一个按钮与点击我的标签,但我得到的唯一的东西是一个空按钮。脚本似乎没有执行。我做错了什么 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Test Di

我知道这将是一个非常愚蠢的问题,但自从我上次开发javascript以来,已经过去了几年。 我想再复习一下,所以我决定学一些道场。 问题是我无法让这个简单的Dijit示例正常工作 据我所知,它应该产生一个按钮与点击我的标签,但我得到的唯一的东西是一个空按钮。脚本似乎没有执行。我做错了什么

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Test Dijit</title>
    <!-- load Dojo -->
    <link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/dojo/1.8.1/dijit/themes/claro/claro.css">
    <script src="//ajax.googleapis.com/ajax/libs/dojo/1.8.1/dojo/dojo.js" data-dojo-config="isDebug: true, async: true, parseOnLoad: true"></script>
</head>
<body class="claro">
    <button id="btn"></button>
        <script>
        require(["dijit/form/Button", "dojo/domReady!"], function(Button) {
            var button = new Button({
                label: "Click Me!",
                onClick: function(){ console.log("First button was clicked!"); }
            }, "btn");
            button.startup();
        });
    </script>
</body>
</html>

测试Dijit
require([“dijit/form/Button”,“dojo/domReady!”),函数(Button){
var按钮=新按钮({
标签:“点击我!”,
onClick:function(){console.log(“单击了第一个按钮!”);}
},“btn”);
按钮。启动();
});

如果使用file://URL加载页面(或双击该文件),则由于加载样式表和dojo时使用的是无模式URI,因此该页面将无法工作

尝试将协议“http”添加到相应链接和脚本标记中斜杠的前面


另请参见

对我来说很好(在FF中,而不是IE:/)您是在本地主机上运行它还是在一些JSFIDLE/JSBin中运行它?我这样问是因为我在中进行了测试,在页面刷新后的第一次加载或缓存被禁用时,它不起作用,但在最新的Chrome、Firefox和Opera中,以及在IE9、IE8、IE7和IE6中,当通过本地Apache提供服务时,它可以正常工作(即使禁用了缓存)。我在本地主机上使用FF/IE/Chrome进行了尝试:(对我也适用。不知道为什么这样做不起作用。我会尝试所有常见的Javascript调试方法,在脚本中插入一些console.log()行,查看它在脚本中的位置,然后再中断。检查dojo加载程序是否真的在加载(可能在您的网络上被阻止了…)。此外,将此处发布的代码复制到测试页面中,以确保两者相同(即此处的代码对我们有效,但您的本地代码不起作用-因此,可能不同)。所有明显的东西,因为一些愚蠢的事情而忘记了我的代码被破坏的时间。我还尝试关闭parseOnLoad选项并运行手动解析,即使用dojo/ready+dojo/parser-请参阅:-实例化对象部分