![]() After the revocation, as the mapping is removed, the URL doesn’t work any more. In the previous example with the clickable HTML-link, we don’t call URL.revokeObjectURL(link.href), because that would make the Blob url invalid. In the last example, we intend the Blob to be used only once, for instant downloading, so we call URL.revokeObjectURL(link.href) immediately. URL.revokeObjectURL(url) removes the reference from the internal mapping, thus allowing the Blob to be deleted (if there are no other references), and the memory to be freed. So if we create a URL, that Blob will hang in memory, even if not needed any more. ![]() But if an app is long-living, then that doesn’t happen soon. The mapping is automatically cleared on document unload, so Blob objects are freed then. While there’s a mapping for a Blob, the Blob itself resides in the memory. And it allows to reference the Blob in, , basically any other object that expects a URL. So such URLs are short, but allow to access the Blob.Ī generated URL (and hence the link with it) is only valid within the current document, while it’s open. ![]() For each URL generated by URL.createObjectURL the browser stores a URL → Blob mapping internally. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |