javascript - TextureLoader加载跨域图片失败

标签 javascript three.js

我无法通过TextureLoader在chrome中加载图像

我想从“https://commons.wikimedia.org/wiki/Special:FilePath/Engels.jpg?width=300 ”的 URL 加载图像,但收到错误“从源 'null' 访问位于 ' https://commons.wikimedia.org/wiki/Special:FilePath/Engels.jpg?width=300 ' 的图像(从 ' http://commons.wikimedia.org/wiki/Special:FilePath/Engels.jpg?width=300 ' 重定向)已被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin” header 。”(我将 loader.crossOrigin 设置为匿名)。如果我将 loader.crossOrigin 设置为未定义,则加载程序可以加载图像,但可以不会出现错误“THREE.WebGLState:TypeError:无法在“WebGLRenderingContext”上执行“texImage2D”:找不到与提供的签名匹配的函数。”

最佳答案

https://commons.wikimedia.org 的服务器尚未实现 Access-Control-Allow-Origin header ,因此您可能无法获取图像直接。

您可以将图像保存到本地文件系统并引用它,这肯定有效。

关于javascript - TextureLoader加载跨域图片失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56252684/

相关文章:

JavaScript 代码设计

javascript - jQuery iframe 加载 JavaScript 内容 - 上下文

javascript - Prop 未转移给孙子

three.js - 如何在 Blender for Three.js 中对顶点进行分组?

javascript - 在 three.js 程序中运行 webgl 函数

javascript - 基于缩放级别显示 WMS 图层

javascript - 配置使用 localStorage 作为端点而不是本地服务器

javascript - Three.js 中的球形冒名顶替者

javascript - 如何从 Javascript/THREE.js 编码和发送 float 据到 GLSL 并解码结果

javascript - Three.js - 如何预先定位要合并的对象?