我想为用户提供保存他/她的结果的机会,如网页上显示的那样。
使用浏览器的“另存为”是不好的,它会保存 html 代码或其中的一部分,而不是保存页面上显示的内容。即使选项设置为“另存为文本”。有本地链接等。
使用 localStorage 会更糟。想象一下告诉用户他的结果在某个隐藏目录中,他/她需要解码 sqlite 文件......
我在网上找到的例子:
A) 太复杂
B) 不工作
C)只显示一点代码,让你猜其余的
一些网站提供其页面的“打印机友好”版本。只需单击一个按钮,我就可以在新窗口或选项卡中打开结果列表,以简洁的 View 。然后用户可以“全选”和“复制/粘贴”到他/她最喜欢的文本编辑器。并保存它。
我想做得更好。我想要一个“保存结果”按钮,可以打开通常的对话框“你想把它保存在哪里?”并提供例如 .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:保存文本文件的简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65050679/