我的扩展程序中有一个按钮可以触发以下代码:
chrome.tabs.create({url: 'data:text;base64,'+btoa(data), active:false});
正如我所料,这会触发我的字符串(数据)的下载。不幸的是,它似乎正在删除换行符。
我尝试过其他编码方法,包括 utf-8 和encodeUri()
功能。我也尝试将 mimetype 切换为data:text/plain
,但这只是在新选项卡中打开(带有正确的换行符)而不是下载。
有没有办法对我的文本进行编码以便保留换行符?如果没有,是否有其他方法在浏览器中触发文件下载?
edit
我发现换行符确实出现在某些文本编辑器中。以前,我使用记事本,它无法识别 chrome 中的换行符,但我的其他文本编辑器(notepad++)似乎可以识别它们
我推荐的解决方案是不要使用记事本,因为它无法识别非 Windows 行格式。如果您仍然希望能够使用记事本进行输出,replace所有换行符(0x0A
) 带有回车+换行对 (0x0D 0x0A
).
chrome.tabs.create({
url: 'data:text;base64,' + btoa(data.replace(/\n/g, '\r\n')),
active: false
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)