【问题标题】:load cross domain image in Texture - Three.js在 Texture 中加载跨域图像 - Three.js
【发布时间】:2014-06-25 16:29:52
【问题描述】:

我正在尝试使用THREE.ImageUtils.loadTexture(url) 加载图像,但由于图像位于与托管网页不同的域中,因此出现以下错误:

Uncaught SecurityError: Failed to execute 'texImage2D' on 'WebGLRenderingContext': The cross-origin image at

我在加载纹理之前添加了THREE.ImageUtils.crossOrigin = "anonymous",但随后出现以下错误:

来自“跨域 url”的图像已被跨域资源共享策略阻止加载:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问 Origin 'hosted url'。

我也试过下面的代码:

var url = 'http://www.corsproxy.com/yourdomain/yourfolder/yourimage.png';    
            var image = document.createElement('img');
            image.crossOrigin = '';
            image.src = url;
            var texture = new THREE.Texture(image);
            texture.needsUpdate = true;
            material.map = texture; 

但是由于代理在我这边被阻止了,所以也无法通过这种方式加载跨域图像, 请让我知道如何继续在 THREE.js 纹理中加载跨域图像。我正在使用 Three.js 的 66 版..

【问题讨论】:

    标签: three.js


    【解决方案1】:

    由于 javascript 是客户端语言,它不会允许。您必须使用服务器端编码来访问跨域数据。

    java open pdf file when it is being downloaded

    http://www.mkyong.com/jquery/jquery-access-to-restricted-uri-denied-solution/

    【讨论】:

      猜你喜欢
      • 2011-12-22
      • 2013-12-08
      • 1970-01-01
      • 1970-01-01
      • 2013-12-03
      • 1970-01-01
      • 1970-01-01
      • 2011-12-01
      • 2011-06-30
      相关资源
      最近更新 更多