在一些浏览器中渲染场景v71时出现三个JS问题

时间:2015-05-09 11:36:12

标签: javascript three.js

使用three.js v71,我试图添加一个网状材料并在添加材料上限后在屏幕上显示。当我尝试在Chrome v42.0(Linux)上呈现它时,它运行正常。但是当我尝试在Chrome v42.0上运行它时,我收到指向库文件的错误

未捕获的TypeError:无法读取属性'长度'未定义的

当我在Firefox DE(v39)和Firefox SE(v37)上运行它时,我在同一个地方收到错误消息

TypeError:a.defaultAttributeValues [h]未定义

是不是因为js代码中的同步问题(将属性分配给未定义的对象)?还有它如何在Linux浏览器上正确呈现,而不是在其他平台上呈现?

1 个答案:

答案 0 :(得分:0)

我通过对three.js库代码的一些小改动解决了这个问题。

在three.js(v71)中没有。 20263,我在if条件中包含了[key]

} else if ( material.defaultAttributeValues[ key ] !== undefined ) {

以同样的方式,在three.min.js(v71)中行号。 443,我在if条件中包含了[h]的密钥

0!==a.defaultAttributeValues[h]

这解决了问题,现在在两个浏览器中都可以正确呈现对象。