We're calling on all EU-based Mozillians with iOS or iPadOS devices to help us monitor Apple’s new browser choice screens. Join the effort to hold Big Tech to account!

Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

Data url's (data:) are crashing and laging the browser

  • 3 odgovori
  • 3 ima ovaj problem
  • 1 view
  • Posljednji odgovor poslao Jakub Mareda

more options

Browsers support a pseudoprotocol `data:` that parses the input as a base64 encoded file. I'm using this protocol very often, mostly for debugging purposes, since it's not well implemented.

My questions about this:

Are there any known hacks that would prevent Firefox from being unresponsive (for even minutes) when a long data URL is opened (long means HTML page long, much less than 1MB)?

Is there any chance something more convenient will be implemented for virtual downloads?

(You might notice that I'm posting from google chrome. That's because Firefox is just parsing the URL - and in fact, after the last update it makes no difference).

Browsers support a pseudoprotocol `data:` that parses the input as a base64 encoded file. I'm using this protocol very often, mostly for debugging purposes, since it's not well implemented. My questions about this: Are there any known hacks that would prevent Firefox from being unresponsive (for even minutes) when a long data URL is opened (long means HTML page long, much less than 1MB)? Is there any chance something more convenient will be implemented for virtual downloads? (You might notice that I'm posting from google chrome. That's because Firefox is just parsing the URL - and in fact, after the last update it makes no difference).

Izabrano rješenje

After some searching, it appears that the best answer would be telling me, that in Firefox, files can be saved using Blob. Github user eligrey has also implemented a compatibility framework for this feature - this one uses base64 url's as fallback option. That would be direct answer to my question. But thanks for trying.

It's still a mystery to me, though, how exactly is it implemented.

guigs2: Not sure what do you mean by Web console. When Firefox is not responding, none of it's components are responding. Firefox is top 1 browser when it comes to not being responding (might be related to the ammount of plugins, open tab and history entries though).

As of stackoverflow: At stack overflow, specific programming problems are being solved. Not question about when will Firefox implement something.

cor-el IndexedDB is indeed an interesting thing I wasn't aware of. But it's more relevant to questions about local storage, rather than javascript downloads.

Pročitajte ovaj odgovor sa objašnjenjem 👍 0

All Replies (3)

more options
  • There is the Web Console
  • It looks like the largest url is 65,536 characters

Please try the stackoverflow.com community. MDN has some users that answer questions like this there as well.

more options

If this data code is embedded in the web page code then the limits might be different.

There is also IndexedDB to store a larger amount of data locally.

Izmjenjeno od strane cor-el

more options

Odabrano rješenje

After some searching, it appears that the best answer would be telling me, that in Firefox, files can be saved using Blob. Github user eligrey has also implemented a compatibility framework for this feature - this one uses base64 url's as fallback option. That would be direct answer to my question. But thanks for trying.

It's still a mystery to me, though, how exactly is it implemented.

guigs2: Not sure what do you mean by Web console. When Firefox is not responding, none of it's components are responding. Firefox is top 1 browser when it comes to not being responding (might be related to the ammount of plugins, open tab and history entries though).

As of stackoverflow: At stack overflow, specific programming problems are being solved. Not question about when will Firefox implement something.

cor-el IndexedDB is indeed an interesting thing I wasn't aware of. But it's more relevant to questions about local storage, rather than javascript downloads.