如何在socket.io事件设置后更改图像src?

时间:2015-07-15 03:22:08

标签: javascript sockets socket.io

使用socket.io,我使用'imgid'编码字符串将图像从服务器推送到客户端:

{{1}}

如何在下一个socket.io事件中重置{{1}}的src?它工作正常一次,但在我刷新页面之前不会显示新图像

1 个答案:

答案 0 :(得分:1)

我发现加载新图像内容最可靠的方法是每次都创建一个新的图像元素,并用新的图像对象替换先前的图像对象。你可以这样做:

socket.on('send_picture', function (data){
    socket_data = socket_data + data;
    var oldImg = document.getElementById('imgid');
    var newImg = new Image();
    newImg.src = socket_data;
    newImg.id = 'imgid';
    oldImg.parentNode.replaceChild(newImg, oldImg);
});