无法加载dojo.js

时间:2015-05-22 10:49:55

标签: javascript dojo

当我正在尝试Fiddle时,我尝试在浏览器中运行(打开)html代码,正如他们在教程中所说,但我的浏览器无法加载 dojo.js

在排除故障时,我发现源URL的转换如下:

文件://ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Tutorial: Hello Dojo!</title>
</head>
<body>
    <h1 id="greeting">Hello</h1>
    <!-- load Dojo -->
    <script src="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"
            data-dojo-config="async: true"></script>

    <script>
        require([
            'dojo/dom',
            'dojo/dom-construct'
        ], function (dom, domConstruct) {
            var greetingNode = dom.byId('greeting');
            domConstruct.place('<em> Dojo!</em>', greetingNode);
        });
    </script>
</body>
</html>

2 个答案:

答案 0 :(得分:2)

使用真实的网络服务器,而不是从文件系统浏览。

虽然Frank是正确的,因为向URL添加显式协议将解决此特定问题,但您无论如何都会遇到其他问题,例如XHR被锁定在file://协议之下。如果您在提供http或https的真实网络服务器上进行测试,那么您最初使用的协议相对URL将正常工作。

答案 1 :(得分:1)

您需要添加 http 作为 dojo.js 文件来源的协议。

<script src="http://ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"
            data-dojo-config="async: true"></script>

最佳做法是在 head 标记中添加库文件,而不是 body 标记。

<head>
    <meta charset="utf-8">
    <title>Tutorial: Hello Dojo!</title>

    <!-- load Dojo -->
    <script src="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"
            data-dojo-config="async: true"></script>
</head>