I have a button in my extension that triggers the following code:
chrome.tabs.create({url: \'data:text;base64,\'+btoa(data), active:false});
<
For all who try to preserve newline characters in a data URI without base64 encryption: this is not possible, you have to use base64 encoding.
My recommended solution is to not use Notepad, because it does not recognize non-Windows line formats. If you still want to be able to use Notepad with your output, replace all line feeds (0x0A
) with carriage return+line feed pairs (0x0D 0x0A
).
chrome.tabs.create({
url: 'data:text;base64,' + btoa(data.replace(/\n/g, '\r\n')),
active: false
});