当我正在尝试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>
答案 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>