Javascript CORS修复了three.js中的BabylonLoader.js
为了自娱自乐,我一直在以自己的方式通过旧的NeHe演示并在three.js中实现它们。你可以看到到目前为止的进展。我已经得到了31个使用模型。我认为测试各种型号的装载机会很有趣。到目前为止,我让OBJ和Collada工作,但巴比伦一直给我跨源错误。基本上与本文中看到的错误相同。因此,我尝试了AJ Campbell在那篇文章中建议的相同修复方法,即,我通过添加line loader.crossOrigin=''更改了Babylon loader加载方法;因此:Javascript CORS修复了three.js中的BabylonLoader.js,javascript,three.js,cors,image-loading,Javascript,Three.js,Cors,Image Loading,为了自娱自乐,我一直在以自己的方式通过旧的NeHe演示并在three.js中实现它们。你可以看到到目前为止的进展。我已经得到了31个使用模型。我认为测试各种型号的装载机会很有趣。到目前为止,我让OBJ和Collada工作,但巴比伦一直给我跨源错误。基本上与本文中看到的错误相同。因此,我尝试了AJ Campbell在那篇文章中建议的相同修复方法,即,我通过添加line loader.crossOrigin=''更改了Babylon loader加载方法;因此: 这是完美的,但它可能不是正确的解决方
这是完美的,但它可能不是正确的解决方案(似乎有点骇人听闻)。这似乎是three.js中的一个bug(缺少代码)使用
loader.crossOrigin=''代码>是装载机在Three.js中对抗CORS的惯常做法。我同意这一点。但我必须把它添加到巴比伦装载机才能让它工作。我应该向three.js提交PR吗?所有这些都与当前的主r84有关。var loader=new THREE.BabylonLoader();loader.crossOrigin='';loader.load(…)代码>它没有在加载程序的源代码中添加任何行。但是代码“loader.crossOrigin=''”:“在BabylonLoader.js中不存在。我无法为three.js创建拉取请求,因为我没有提交权限。是的,你是对的)我的错误代码>是装载机在Three.js中对抗CORS的惯常做法。我同意这一点。但我必须把它添加到巴比伦装载机才能让它工作。我应该向three.js提交PR吗?所有这些都与当前的主r84有关。var loader=new THREE.BabylonLoader();loader.crossOrigin='';loader.load(…)代码>它没有在加载程序的源代码中添加任何行。但是代码“loader.crossOrigin=''”:“在BabylonLoader.js中不存在。我不能为three.js创建拉取请求,因为我没有提交权限。是的,你是对的)我的错误。
load: function ( url, onLoad, onProgress, onError ) {
var scope = this;
var loader = new THREE.FileLoader( scope.manager );
loader.crossOrigin = ''; // added by rkwright
loader.load( url, function ( text ) {
onLoad( scope.parse( JSON.parse( text ) ) );
}, onProgress, onError );
},