Javascript 由于IMG元素中SRC属性的值未初始化,避免了多个GET请求

Javascript 由于IMG元素中SRC属性的值未初始化,避免了多个GET请求,javascript,html,image,get,src,Javascript,Html,Image,Get,Src,我有一个带有src属性的img元素 不幸的是,一旦设置了img节点元素的src属性,浏览器就会尝试下载该属性中指定的资源 即使未将img元素插入DOM,也会发生这种情况!它们只需要从HTML字符串转换为当前文档上下文(但不一定是其DOM)中的节点元素 因此,如果在浏览器解析HTML字符串之前无法对其进行操作,则绝对无法阻止它尝试获取资源 一个愚蠢的解决办法是提供一个具有该确切名称的虚拟图像(比如透明的1px*1px?),这样浏览器就会高兴并停止请求它 如果这是一个选项,您可以尝试替换整个img

我有一个带有src属性的img元素


不幸的是,一旦设置了
img
节点元素的
src
属性,浏览器就会尝试下载该属性中指定的资源

即使未将
img
元素插入DOM,也会发生这种情况!它们只需要从HTML字符串转换为当前文档上下文(但不一定是其DOM)中的节点元素

因此,如果在浏览器解析HTML字符串之前无法对其进行操作,则绝对无法阻止它尝试获取资源

一个愚蠢的解决办法是提供一个具有该确切名称的虚拟图像(比如透明的1px*1px?),这样浏览器就会高兴并停止请求它

如果这是一个选项,您可以尝试替换整个
img
标记(而不仅仅是它的
src
值)。但是您需要一种隐藏占位符文本的方法,以便用户在用实际的
img
标记替换它之前不会看到它


祝你好运

欢迎来到SO!事实上,由于初始设计不佳,您可能会遇到很大的麻烦……您谈论了许多约束,但如果没有更多的细节,人们很难想象解决方法。也许有必要揭露可以改变的东西。例如,HTML是如何构建的,能否在转换为元素之前对其进行解析/转换,您准备在多大程度上更改代码以修复此问题,等等@ghybs感谢您的回复。这将是很难改变的代码,因为它不是一个功能缺陷,我的客户可能不同意这一点。这张图片只不过是在帖子上加评论的人的显示图片。元素(即)带有人名、注释和图像的DIV元素将不会添加到DOM中,除非该人进行注释,但仍会发出GET请求,这是意料之中的。然后,虚拟图像技巧可能足够适合您的情况。一旦图像被下载,它将停止网络请求,而无需进行任何其他更改。无论如何,图像将在可见之前被替换。