0

我在 amazon s3 上托管了一些大文件,我希望我的网站能够通过 threejs 加载调用加载。但是,当我为这些文件调用加载时,我收到一个错误,即由于访问控制允许来源而不允许加载。我的负载调用是这样的:

loader = new THREE.JSONLoader();
loader.load("https://s3.amazonaws.com/folder/shoot-o.js",function(geometry){
    //DO STUFF
});

我如何访问这些?

4

1 回答 1

1

我知道让它与三个加载器一起工作的唯一方法是让服务器发送一个Access-Control-Allow-Origin: yourdomain.com包含您托管文件的标头。我不知道这在 s3 上是否可行。

您也可以尝试使用 JSONP(带有 Padding 的 JSON),例如:

var head = document.getElementsByTagName("head")[0];
var script = document.createElement("script");
script.src = "https://s3.amazonaws.com/folder/shoot-o.js";
head.appendChild(script);

然后修改您的 js 文件,以便 JSON 数据由 js 函数调用包装:

loadJSON({yourData: true, ...});

并实现该loadJSON函数,以便它接受 JSON 数据作为第一个参数并用它来做你的事情。

这是关于三个加载程序的问题的讨论

于 2012-07-19T18:03:34.023 回答