我的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等浏览器的安全功能。)