WebGL自学课程(6):WebGL加载跨域纹理出错Uncaught Error: SECURITY_ERR: DOM Exception 18

25 篇文章 8 订阅
17 篇文章 69 订阅
最近在学习WebGL,用图片对WebGL进行纹理贴图,其中图片是从其他网站跨域获取的,
image.src = "http://otile1.mqcdn.com/tiles/1.0.0/osm/"+level+"/"+column+"/"+row+".jpg";

用Chrome 22运行网页,每次在执行到gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);时就会出现错误:Uncaught Error: SECURITY_ERR: DOM Exception 18

如果把图片换成本地的图片就不会有问题,后来发现是跨域的原因导致的。Chrome13和Fifefox5版本以后就增加了安全性,跨域获取图片受到了限制,解决方案就是设置image的crossOrigin属性为空,修改后的代码如下:

image.crossOrigin = '';//很重要,因为图片是跨域获得的,所以一定要加上此句代码
image.src = "http://otile1.mqcdn.com/tiles/1.0.0/osm/"+level+"/"+column+"/"+row+".jpg";

问题解决,参考 http://blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值