Javascript THREE.js中的跨域图像

Javascript THREE.js中的跨域图像,javascript,canvas,three.js,Javascript,Canvas,Three.js,我在app.domain.com上有一个应用程序,我想从image1.domain.com、image2.domain.com等加载一些图像作为纹理 我正在使用以下代码: var texture = new THREE.Texture(); var image = new Image(); image.crossOrigin = 'anonymous'; image.onload = function() { texture.image = image; texture.need

我在app.domain.com上有一个应用程序,我想从image1.domain.com、image2.domain.com等加载一些图像作为纹理

我正在使用以下代码:

var texture = new THREE.Texture();
var image = new Image();
image.crossOrigin = 'anonymous';
image.onload = function() {
    texture.image = image;
    texture.needsUpdate = true;
    texture.minFilter = THREE.LinearFilter;
};
image.src = url;
在我的图像响应标题中,我有
访问控制允许来源:app.domain.com
,但我仍然收到此错误

three.js?201606101337:30942 DomeException:未能在“WebGLRenderingContext”上执行“texImage2D”:可能无法加载url处的跨源图像

为什么不使用这个工具呢?它可能处理一些边缘情况:

var loader=new THREE.TextureLoader();
loader.setCrossOrigin("anonymous");
loader.load(
  url,
  function do_something_with_texture(tex) { }
);
如果不起作用,请尝试在标题中更改为
访问控制允许原点:

另外,请注意,CORS在Safari(OSX、iOS浏览器和网络视图)中运行不正常。

为什么不使用?它可能处理一些边缘情况:

var loader=new THREE.TextureLoader();
loader.setCrossOrigin("anonymous");
loader.load(
  url,
  function do_something_with_texture(tex) { }
);
如果不起作用,请尝试在标题中更改为
访问控制允许原点:

另外,请注意,CORS在Safari(OSX、iOS浏览器和WebView)中运行不好。

这对我来说很有效

var loader = new THREE.TextureLoader();
loader.setCrossOrigin("");
var map = textureLoader.load("image.png");
这对我有用

var loader = new THREE.TextureLoader();
loader.setCrossOrigin("");
var map = textureLoader.load("image.png");

我猜你的意思是“图像响应标题”。是的,在响应标题上为你的问题更改了该标题。我猜你的意思是“图像响应标题”。是的,在响应标题上为你的问题更改了该标题。请发布图像url,我会检查标题是否正确。好的,问题是我需要一些cookies,所以设置image.crossOrigin='use credentials';如果trickPost设置了图像url,我会检查标题是否正确。好的,问题是我需要一些cookie,所以设置image.crossOrigin='use credentials';成功了