我在我的javascript代码中创建了几个Image
类(据我所知 - 它是普通的img
节点)但是(重要的是)没有将它附加到DOM。我用它来检查预加载状态,然后在canvas
上绘制。
现在我希望能够中断预加载过程,所以,正如我所理解的那样,我需要删除node.complete === false
所在的节点。有没有办法在不创建另一个假元素的情况下将其用作所有的父元素图片?我可以删除没有父节点的节点吗?或者删除节点不会中断图像资源的HTTP请求?
答案 0 :(得分:3)
如果父节点为null,则该元素在DOM中不,并且不需要从DOM中删除 - 从DOM中删除图像节点不会影响它的加载。< / p>
简单地:
将Image.src
设置为其他内容,例如空字符串(这是告诉浏览器“停止加载”资源的最佳方法),并且;
不要对元素
然后,在JavaScript无法再访问元素后,元素将被“删除”或“垃圾回收”(参见#2)。
我相信可能是任何onload
事件之间的竞争条件,并将Image.src
设置为空字符串。如果绝对重要的是加载“中止” - 即使它成功 - 确保在onload / complete检查处理程序中再次检查src
属性(或另一个“中止”标志)。