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

3 つのローダーで動作させる唯一の方法はAccess-Control-Allow-Origin: yourdomain.com、ホストされたファイルでサーバーにヘッダーを送信させることです。ただし、これがs3で可能かどうかはわかりません。

次のように、JSONP (パディング付きの 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);

次に、JSON データが js 関数呼び出しによってラップされるように、js ファイルを変更します。

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

そして、loadJSON関数を実装して、JSON データを最初のパラメーターとして受け入れ、それを処理するようにします。

ここでは、THREE ローダーに関する問題について説明します。

于 2012-07-19T18:03:34.023 に答える