2 关于 Javascript Image-Object 的问题
当我使用 .createElement('img') 创建图像对象,但我不在 document.body 中使用它时,我是否必须在创建它后将其删除?我只需要图像对象来读取图像的大小。我知道,当使用 new Image() 时,垃圾收集器将删除该对象。但是 .createElement('img') 呢?
如果我将 base64 编码图像放入图像的 src 属性,我是否必须使用 img.onload 事件? -> img.src = base64 字符串。我不使用 Imgage-URL 向服务器发出请求!
When i create an image-object using .createElement('img'), but i dont use it in the document.body, do i have to remove it after i have created it? I only need the image-object to read the size of an image. I know, when using new Image(), the garbage-collector will delete the object. But what about .createElement('img')?
Do i have to use the img.onload Event, also if i put base64 coded images to the src-attribute of the image? -> img.src = base64-string. I do not use a Imgage-URL to make a Request to the Server!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
GC 应该收集图像,但如果有任何闭包依赖于该变量,则不会收集图像。因此,请确保正确使用
var
。除非使用
onload
事件来确保图像已加载,否则您无法可靠地获取图像的大小。但是,对于data:
URL,它应该是即时的,因此您可以立即获取尺寸。The GC should collect the image, but not if any closures depend on that variable. So make sure you use
var
correctly.You can't get the size of the image reliably unless you use the
onload
event to make sure it's loaded. However withdata:
URLs it should be instantaneous, so you can probably get the dimensions straight away.