Three.js OBJLoader在Edge浏览器无法渲染报错求助
旧版Edge中Three.js OBJLoader加载失败的解决方案
问题分析
你遇到的问题根源在于使用的Edge 44.18362.449.0是基于EdgeHTML内核的旧版本,它对ES6箭头函数的支持存在缺陷。OBJLoader.load方法的回调参数使用箭头函数时,旧版Edge无法正确识别为合法的函数类型,因此抛出"Function expected anonymous function"错误。
修复方案
将代码中的所有箭头函数替换为ES5标准的匿名函数写法即可解决问题,修改后的代码如下:
const loader = new OBJLoader(); loader.load("object/teddy.obj", function(root) { scene.add(root); }, function() { }, function(e) { console.log(e) });
额外建议
如果需要兼容这类旧版浏览器,建议:
- 优先使用ES5语法编写代码,避免依赖未被完全支持的ES6+特性
- 可以引入Babel等代码转译工具,自动将ES6+代码转换为兼容旧浏览器的ES5代码
内容的提问来源于stack exchange,提问作者WBCode3
相关产品推荐
相关产品推荐

