问题描述
tcp服务器继续转发新的图像路径。
客户端继续通过其接收的路径更新图像。
我认为.innerHTML = "<img
会导致内存泄漏
<script src="/socket.io/socket.io.js"></script>
<script type="text/javascript">
const socket = io();
socket.on('data',(msg)=>{
document.getElementById('IMG').innerHTML = "<img src="+msg.imagePath + ">";
});
</script>
这是我的第二个计划。
如何继续更改图像而不会出现内存泄漏?
<script src="/socket.io/socket.io.js"></script>
<script type="text/javascript">
const socket = io();
socket.on('data',(msg)=>{
(function(){
document.getElementById('IMG').innerHTML = "<img src="+msg.imagePath + ">";
}());
});
</script>
解决方法
您只能更改src
:
document.querySelector('#IMG').setAttribute('src',msg.imagePath);
,
您可以尝试以下操作:
<script src="/socket.io/socket.io.js"></script>
<script type="text/javascript">
const socket = io();
socket.on('data',(msg)=>{
document.getElementById('IMG').setAttribute("src",msg.imagePath);
});
</script>
这样,您将更新img
元素的src属性。