Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.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 Three.js不';行不通_Javascript_Three.js_Webgl - Fatal编程技术网

Javascript Three.js不';行不通

Javascript Three.js不';行不通,javascript,three.js,webgl,Javascript,Three.js,Webgl,我即将学习three.js。我已经从github下载了库: 我尝试在上面的链接中运行three.js的第一个示例。奇怪的问题是,它在JSFIDLE中工作,但在我的计算机中不工作。 我在控制台中发现此错误: TypeError: document.body is null [Break On This Error] document.body.appendChild( renderer.domElement ); 这是我的代码,完全从上面的链接复制而来: 是的,页面中包含了三个.js

我即将学习
three.js
。我已经从github下载了


我尝试在上面的链接中运行three.js的第一个示例。奇怪的问题是,它在JSFIDLE中工作,但在我的计算机中不工作。

我在控制台中发现此错误:

TypeError: document.body is null
[Break On This Error]   
document.body.appendChild( renderer.domElement );



这是我的代码,完全从上面的链接复制而来:

是的,页面中包含了三个.js


在浏览器解析HTML文档并构建DOM之前,您的代码正在运行。这就是
document.body
未定义的原因

使用“加载”事件处理程序:

window.onload = function() {
  // all that code here
};
您的JSFIDLE版本之所以有效,是因为该站点为您提供了这一功能;这就是左侧控制面板上的顶级选择


哦,另外,从JSFIDLE复制代码时必须小心。除非他们在最近的改版中修复了它,否则在复制/粘贴时很容易发现奇怪的隐藏字符,从而导致神秘的JavaScript错误。

只需在
onload
中编写代码即可。它很好用

window.onload = function() { // your code }

把它放在一个加载事件中。你忘了描述它是如何工作的-有错误吗?奇怪的行为?没有行为?@Pointy Question已编辑。您确实将其放入了一个有效的html文件中,并声明了一个body,write?@camus'onload'是问题所在。谢谢加缪和波蒂
window.onload = function() { // your code }