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

Three JS - problems while rendering a scene v71 in some browsers

使用 three.js v71,我尝试添加一个 meshphong material 并在添加 material 大写字母后在屏幕上显示它。当我尝试在 Chrome v42.0 (Linux) 上渲染它时,它工作正常。但是当我在 Chrome v42.0 上尝试 运行 它时,我得到一个指向库文件

的错误

未捕获类型错误:无法读取未定义的 属性'length'

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

TypeError: a.defaultAttributeValues[h] 未定义

是不是js代码的同步问题(给未定义的对象赋值)?还有它如何在 Linux 浏览器而不是其他平台上正确呈现?

我通过对 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]

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