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

createObjectURL doesnt work if run on Chrome

本文关键字:不起作用 运行 如果 Chrome createObjectURL      更新时间:2023-09-26

大家好,

我尝试从 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);
}

它完美地在火狐上显示图片,但在 Chrome 上,它只是返回未定义,并且不会通过 createObjectURL 加载图像我使用的是 Chrome 18.0.1025.162

知道吗?

来自 MDN:

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

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

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