MrG*_*ass 3 text-files google-chrome-extension data-uri
我的扩展程序中有一个按钮,触发以下代码:
chrome.tabs.create({url: 'data:text;base64,'+btoa(data), active:false});
Run Code Online (Sandbox Code Playgroud)
这会触发我的字符串(数据)的下载,正如我预期的那样.不幸的是,它似乎正在剥离换行符.
我尝试过其他编码方法,包括utf-8和encodeUri()函数.我也尝试将mimetype切换为data:text/plain,但只是在新选项卡中打开(使用正确的换行符)而不是下载.
有没有办法对我的文本进行编码,以便保留换行符?如果没有,是否有不同的方法在浏览器中触发文件下载?
编辑
我发现新行确实出现在一些文本编辑器中.以前,我使用的是notepad,它不能识别chrome中的换行符,但我的其他文本编辑器(记事本++)似乎确实认出了它们
我推荐的解决方案是不使用记事本,因为它无法识别非Windows行格式.如果您仍希望能够在输出中使用记事本,请使用回车符+换行符对()替换所有换行符0x0A(0x0D 0x0A).
chrome.tabs.create({
url: 'data:text;base64,' + btoa(data.replace(/\n/g, '\r\n')),
active: false
});
Run Code Online (Sandbox Code Playgroud)