当webgl上的readpixels时,Dom安全性错误18

时间:2011-07-05 03:55:15

标签: javascript dom google-chrome webgl

当我尝试在webgl上进行拾取时,我使用帧缓冲区并读取像素颜色来执行此操作。当函数gl.readpixels运行时,它抛出(SECURITY_ERR:Dom Exception 18)。

screenshot http://imageshack.us/f/94/readpxielerror.jpg/

我不知道如何解决这个问题。

请帮助我!!!

1 个答案:

答案 0 :(得分:2)

在您提供页面的同一主机中托管图像,当您使用跨域资源进行渲染时,webgl将画布标记为污染。有同样的问题而且解决了它。

编辑:

为了扩展一点,当前的WebGL实现将此作为一种机制,不允许恶意页面利用驱动程序来控制用户工作站。请记住,您为readPixels调用传递了一个数组,这可能会被用于缓冲区溢出攻击,从而将WebGL视为潜在的安全风险。

第二次编辑:

目前正在进行中,以便在canvas和webgl中支持更好的跨源图像,您可以查看它here