以下代码适用于IE8,Safari 4.0.2 - 但在Firefox 3.5.5上生成一个空白页面。有什么想法吗?
<html>
<head>
<link rel="stylesheet" type="text/css" href="http://archive.dojotoolkit.org/nightly/dojotoolkit/dijit/themes/tundra/tundra.css">
</head>
<body class="tundra">
<div style="width: 350px; height: 300px">
<div id="tc1-prog">
</div>
</div>
</body>
<script type="text/javascript" src="http://archive.dojotoolkit.org/nightly/dojotoolkit/dojo/dojo.js"
djConfig="parseOnLoad: true">;
</script>
<script type="text/javascript">
dojo.require("dijit.layout.TabContainer");
dojo.require("dijit.layout.ContentPane");
dojo.addOnLoad(function() {
var tc = new dijit.layout.TabContainer({
style: "height: 100%; width:100%;"
},
"tc1-prog");
var cp1 = new dijit.layout.ContentPane({
title: "Food",
content: "We offer amazing food"
});
tc.addChild(cp1);
var cp2 = new dijit.layout.ContentPane({
title: "Drinks",
content: "We are known for our drinks."
});
tc.addChild(cp2);
tc.startup();
});
</script>
</html>
答案 0 :(得分:1)
可能是跨域问题。每晚构建都会发布以进行测试,但要在本地实际使用它,您必须下载tarball。否则,引用使用xhr + eval加载单个模块,这会破坏浏览器的域安全模型。
您的另一个选择是使用Dojo的“跨域”构建,这几乎是您想要做的事情并且部署起来非常简单 - 只需使用脚本标记指向它即可。这就是谷歌CDN上可用的内容。
答案 1 :(得分:0)
您可能希望将script标记放在body标记内。要使它成为有效的HTML,它需要在body或head标签中。无效的文档肯定会导致它在浏览器之间无法一致地运行。
更新:此外,您可能希望尝试使用生成版本而不是每晚版本。我更改了URL以使用http://ajax.googleapis.com/ajax/libs/dojo/1.3/dojo/dojo.xd.js,它在FF中对我很好。它被夜间建筑打破了。
HTML 4文档由三部分组成:
包含HTML版本信息的行,
声明性标题部分(由HEAD元素分隔),
一个正文,其中包含文档的实际内容。正文可以由BODY元素或FRAMESET元素实现。
<html>
<head>
<link ... />
</head>
<body>
...
<script ... >
</script>
</body>
</html>