三个 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]
这解决了问题,对象现在可以在两种浏览器中正确呈现。
使用 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]
这解决了问题,对象现在可以在两种浏览器中正确呈现。