Javascript: 保存文本文件的简单方法?
Javascript: a SIMPLE way to save a text file?
我愿意为用户提供保存 his/her 结果的机会,如网页上显示的那样。
使用浏览器的“另存为”是不行的,它会保存 html 代码或部分代码,而不是保存页面上显示的内容。即使选项设置为“另存为文本”。还有本地链接等
使用 localStorage 会更糟。想象一下告诉用户他的结果在隐藏目录中的某个地方并且 he/she 需要解码 sqlite 文件...
网上找的例子:
A) 太复杂了
B) 不工作
C) 只显示一点代码,剩下的让你猜
一些网站提供其页面的“打印友好”版本。单击一个按钮,我可以在一个新的 window 或选项卡中打开结果列表,并显示简洁的视图。然后用户可以将“select 全部”和“copy/paste”添加到 his/her 最喜欢的文本编辑器。并保存。
我想做得更好。我想要一个“保存结果”按钮,它会打开通常的对话框“你想把这个保存在哪里?”并提供例如 .txt 和 .rtf 格式之间的选择。
我读过的一些内容似乎暗示这是非法的。如果您可以另存为 .exe,我会理解安全风险。但另存为 .txt?
你可以这样做:
<a href="#" id="download">Download</a>
<script>
var fileName = "myfile.txt";
var fileContent = "Page content...";
var myFile = new Blob([fileContent], {type: 'text/plain'});
window.URL = window.URL || window.webkitURL;
var dlBtn = document.getElementById("download");
dlBtn.setAttribute("href", window.URL.createObjectURL(myFile));
dlBtn.setAttribute("download", fileName);
</script>
这将要求用户将名为“myfile.txt”的文件保存到他们想要的位置。文件的内容由您决定。
您可以重用 javascript windows 打印功能 onclick="window.print();"或者自己编写
const link = document.querySelector('a');
link.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent('insert your text here'));
link.setAttribute('download', 'res.txt');
<a>File</a>
在这里,我们使用 HTML 5 下载属性并对文本的 URI 组件进行编码
我愿意为用户提供保存 his/her 结果的机会,如网页上显示的那样。
使用浏览器的“另存为”是不行的,它会保存 html 代码或部分代码,而不是保存页面上显示的内容。即使选项设置为“另存为文本”。还有本地链接等
使用 localStorage 会更糟。想象一下告诉用户他的结果在隐藏目录中的某个地方并且 he/she 需要解码 sqlite 文件...
网上找的例子:
A) 太复杂了
B) 不工作
C) 只显示一点代码,剩下的让你猜
一些网站提供其页面的“打印友好”版本。单击一个按钮,我可以在一个新的 window 或选项卡中打开结果列表,并显示简洁的视图。然后用户可以将“select 全部”和“copy/paste”添加到 his/her 最喜欢的文本编辑器。并保存。
我想做得更好。我想要一个“保存结果”按钮,它会打开通常的对话框“你想把这个保存在哪里?”并提供例如 .txt 和 .rtf 格式之间的选择。
我读过的一些内容似乎暗示这是非法的。如果您可以另存为 .exe,我会理解安全风险。但另存为 .txt?
你可以这样做:
<a href="#" id="download">Download</a>
<script>
var fileName = "myfile.txt";
var fileContent = "Page content...";
var myFile = new Blob([fileContent], {type: 'text/plain'});
window.URL = window.URL || window.webkitURL;
var dlBtn = document.getElementById("download");
dlBtn.setAttribute("href", window.URL.createObjectURL(myFile));
dlBtn.setAttribute("download", fileName);
</script>
这将要求用户将名为“myfile.txt”的文件保存到他们想要的位置。文件的内容由您决定。
您可以重用 javascript windows 打印功能 onclick="window.print();"或者自己编写
const link = document.querySelector('a');
link.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent('insert your text here'));
link.setAttribute('download', 'res.txt');
<a>File</a>
在这里,我们使用 HTML 5 下载属性并对文本的 URI 组件进行编码