Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:保存文本文件的简单方法?_Javascript_Download - Fatal编程技术网

Javascript:保存文本文件的简单方法?

Javascript:保存文本文件的简单方法?,javascript,download,Javascript,Download,我想为用户提供保存其结果的机会,如网页上所示 使用浏览器的“另存为”是不好的,它会保存html代码或其中的一部分,而不是保存页面上显示的内容。即使该选项设置为“另存为文本”。有本地链接等 使用本地存储会更糟糕。想象一下,告诉用户他的结果在一个隐藏的目录中,他/她需要解码sqlite文件 我在网上找到的例子如下: A) 太复杂了 B) 不起作用 C) 只显示一点代码,让您猜测其余的代码 一些网站提供“打印机友好”版本的页面。我只需点击一个按钮,就可以在一个新窗口中打开,或者在一个没有皱褶的视图中打

我想为用户提供保存其结果的机会,如网页上所示

使用浏览器的“另存为”是不好的,它会保存html代码或其中的一部分,而不是保存页面上显示的内容。即使该选项设置为“另存为文本”。有本地链接等

使用本地存储会更糟糕。想象一下,告诉用户他的结果在一个隐藏的目录中,他/她需要解码sqlite文件

我在网上找到的例子如下:

A) 太复杂了

B) 不起作用

C) 只显示一点代码,让您猜测其余的代码

一些网站提供“打印机友好”版本的页面。我只需点击一个按钮,就可以在一个新窗口中打开,或者在一个没有皱褶的视图中打开结果列表的选项卡。然后用户可以“全选”和“复制/粘贴”到他/她最喜欢的文本编辑器。并保存它

我想做得更好。我希望有一个“保存结果”按钮,可以打开通常的对话框“您想将此保存到哪里?”并提供.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>

var fileName=“myfile.txt”;
var fileContent=“页面内容…”;
var myFile=newblob([fileContent],{type:'text/plain'});
window.URL=window.URL | | window.webkitURL;
var dlBtn=document.getElementById(“下载”);
dlBtn.setAttribute(“href”,window.URL.createObjectURL(myFile));
dlBtn.setAttribute(“下载”,文件名);

这将要求用户将名为“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')

文件
这是否回答了您的问题这表示您是否要打开类型为application/octet stream(18字节)的文件,请尝试
。看到完美!非常感谢你!