我的Chrome版本是31.0.1650.57

我正在学习THREE.js,并从https://github.com/jeromeetienne/threex.planets/下载了一个星球样本

但是当我运行earth.html时

如标题所示,发生一个奇怪的错误:

THREE.WebGLRenderer 59 three.min.js:424
Cross-origin image load denied by Cross-Origin Resource Sharing policy. earth.html:1
Uncaught SecurityError: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': the canvas has been tainted by cross-origin data. threex.planets.js:73
(anonymous function) threex.planets.js:73

我浏览了一下代码,发现可能与此错误有关的内容:
THREEx.Planets.baseURL  = '../'
...
map: THREE.ImageUtils.loadTexture(THREEx.Planets.baseURL+'images/earthmap1k.jpg'),

但是我不知道如何解决它,我对javascript来说还比较陌生,

希望有人能帮助我!

万分感谢!

最佳答案

您是在本地文件系统上运行此文件(双击html文件)还是在Web服务器上运行它?如果在Web服务器上运行它,则应避免跨域权限问题。 (这是Chrome等浏览器的安全功能。)

10-07 12:46