Javascript-真正删除图像

Javascript-真正删除图像,javascript,image,base64,Javascript,Image,Base64,A有一个带有图像的页面 Javascript代码定期从服务器加载图像的新内容作为数据:image/png;基地64,Ivborw0kgoaaaansuhueugaaaaaaaaaaadwcayaaab。。。。好的,你们知道,这是base64编码的图像 Javascript代码将图像src更改为新的,但看起来旧数据并没有被删除 如果我让页面运行一段时间,它会占用所有内存 有什么方法可以完全删除以前的图像吗?我有一个建议。请测试一下,看看它是否适合你 从base64字符串创建blob。阅读: va

A有一个带有图像的页面

Javascript代码定期从服务器加载图像的新内容作为数据:image/png;基地64,Ivborw0kgoaaaansuhueugaaaaaaaaaaadwcayaaab。。。。好的,你们知道,这是base64编码的图像

Javascript代码将图像src更改为新的,但看起来旧数据并没有被删除

如果我让页面运行一段时间,它会占用所有内存


有什么方法可以完全删除以前的图像吗?

我有一个建议。请测试一下,看看它是否适合你

  • 从base64字符串创建blob。阅读:

  • var url=url.createObjectURL(blob)。并将url设置为的src 形象

  • 完成后,请尝试URL.revokeObjectURL(URL)


  • 如果我理解正确,您是将图像作为base64编码字符串下载,然后将该字符串传递到img src?如果是这样的话,听起来字符串的作用域并没有以某种方式过期。要确保删除像字符串这样的基本对象,必须通过对象的代理保留对字符串的引用。像下面这样

    // Somewhere in a persistent scope like global
    image_reference = {};
    
    // In your ajax callback
    if(image_reference.data != null) {
    delete image_reference.data;
    }
    image_reference['data'] = response.data;
    // Put image_reference.data into your img element
    

    事实是,我路过的时候也遇到了同样的情况。所以我决定将图像加载到iframe中:/谢谢,这很有帮助@先生,看看