这让我感到非常紧张。我正试图让我的天空盒与从互联网上获得的图像一起工作。我的代码:加载天空盒的图像的跨域问题
为全局变量:
var path = "file:///C:/Users/Tyler/Desktop/ComS_336_workspace/";
var imageNames = [
path + "meadow_bk.jpg",
path + "meadow_ft.jpg",
path + "meadow_up.jpg",
path + "meadow_dn.jpg",
path + "meadow_rt.jpg",
path + "meadow_lf.jpg"
];
在主要功能:
// load the six images
//THREE.ImageUtils.crossOrigin = "Anonymous";
var ourCubeMap = THREE.ImageUtils.loadTextureCube(imageNames);
但得到这个错误:
DOMException: Failed to execute 'texImage2D' on 'WebGLRenderingContext': The cross-origin image at file:///C:/Users/Tyler/Desktop/ComS_336_workspace/meadow_ft.jpg may not be loaded.
当我加入THREE.ImageUtils .crossOrigin =“匿名”;我得到这个错误:
Image from origin 'file://' has been blocked from loading by Cross-Origin Resource Sharing policy: Invalid response. Origin 'null' is therefore not allowed access.
我看到一些帖子说要与运行铬--allow-文件存取的档案或什么,但不想冒险任何安全问题。然后,我看到别人说把图像放在网络服务器上?这我完全不知道该怎么做,为什么这一点很复杂?
我的HTML和JS文件是在同一文件夹(ComS_336_workspace)作为我的图片。
,我真的很需要做什么帮助,如果我必须做一个网络服务器,我怎么把我的图片上他们和路径设置为我的图片?我没有得到。
“我真的很需要做什么帮助” - 你已经说过你必须做的:主机您的Web站点的Web服务器上。 – Quentin
“我必须做一个网络服务器,我如何把他们的图像放在他们身上,并为我的图像设置路径?” - 选择一个Web服务器。安装它。按照其说明操作。 – Quentin