如果在Chrome上运行,createObjectURL不起作用

时间:2012-04-17 11:49:27

标签: javascript html5 canvas websocket

大家好,

我试图从websocket服务器检索图像(在.NET中) 我将图像作为字节发送然后在客户端检索它, 在客户端检索的代码(使用canvas和JavaScript):

var c=document.GetElementById("myCanvas");
var ctx=c.getContext("2d");
ws.onmessage=function(evt)
{
    var image=new Image();
    image.src=URL.createObjectURL(evt.data);
    ctx.drawImage(image,0,0);
}

它完美地在firefox上显示图片, 但在Chrome中,它只返回undefined,不会通过createObjectURL加载图像 我正在使用Chrome 18.0.1025.162

任何想法?

1 个答案:

答案 0 :(得分:19)

来自MDN

  

此方法在Chrome和Webkit中以window.webkitURL.createObjectURL()为前缀。

您应该测试URL是否存在,然后使用适当的对象:

(window.URL ? URL : webkitURL).createObjectURL(evt.data);