相关疑难解决方法(0)

Three.js并加载跨域图像

我知道以前曾经问过这个问题,而且我已经读过我能找到的问题和答案,但没有任何效果.

我在本地服务器(IIS)上运行它.我正在尝试从imgur加载图像,然后使用代码将其用作对象的纹理:

var savedImage = /[^?]*$/.exec(location.search)[0];
if (savedImage != "") { savedImageLoad("http://i.imgur.com/" + savedImage + ".jpg"); };

    function savedImageLoad(image) {
        var mapOverlay = new THREE.ImageUtils.loadTexture(image);
        sphere.material = new THREE.MeshBasicMaterial({map: mapOverlay, needsUpdate: true});;
        sphere.geometry.buffersNeedUpdate = true;
        sphere.geometry.uvsNeedUpdate = true;
    }
Run Code Online (Sandbox Code Playgroud)

但它给出了错误:

Uncaught SecurityError: Failed to execute 'texImage2D' on 'WebGLRenderingContext': The cross-origin image at http://i.imgur.com/uBD0g95.jpg may not be loaded.
Run Code Online (Sandbox Code Playgroud)

我已尝试THREE.ImageUtils.crossOrigin = "anonymous";在我的代码开头,最后和其他各个方面放置或改变一些.我添加了一个web.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
 <system.webServer>
  <httpProtocol>
    <customHeaders>
      <add name="Access-Control-Allow-Origin" value="*" />
      <add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,OPTIONS" />
      <add name="Access-Control-Allow-Headers" value="Content-Type" …
Run Code Online (Sandbox Code Playgroud)

javascript cross-domain three.js

36
推荐指数
2
解决办法
4万
查看次数

标签 统计

cross-domain ×1

javascript ×1

three.js ×1