在Chrome上使用THREE.js在本地图像上拒绝跨源图像加载

时间:2013-11-19 16:27:47

标签: javascript three.js cors

我正在使用THREE.js,我在开发者控制台中收到此错误:

Cross-origin image load denied by Cross-Origin Resource Sharing policy.

当我用Chrome打开我的脚本时。 代码如下所示:

var particle_system_material = new THREE.ParticleSystemMaterial({
    color: 0xffffff,
    map: THREE.ImageUtils.loadTexture("images/circle.png"),
});

所以你可以猜到:

map: THREE.ImageUtils.loadTexture("images/circle.png");

是问题所在。 使用Firefox,它可以很好地工作。

我已阅读以下链接中的提示: Chrome, three.js: Cross-origin image load deniedhttps://github.com/mrdoob/three.js/wiki/How-to-run-things-locallyhttps://www.google.fr/search?q=Access-Control-Allow-Origin

我也意识到了给出的命令:

  

使用命令行标记启动Chrome可执行文件:

     

chrome --allow-file-access-from-files

什么都行不通,我疯了。它只是我硬盘上的一个图像,包含HTML和JS文件,没有服务器,没有“原点”。

2 个答案:

答案 0 :(得分:2)

您是在运行本地服务器,还是刚刚打开html文件?

最有可能的是,运行localhost服务器将解决此问题。 Mamp / Wamp非常易于使用。

如果这不起作用,你可以做一些像chrome --disable-web-security

那样激烈的事情。

答案 1 :(得分:2)

请注意,如果您使用禁用网络安全标记启动Chrome,则必须先关闭所有其他Chrome实例才能使其按预期工作。