Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.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下载.txt,无需对话框提示_Javascript - Fatal编程技术网

使用JavaScript下载.txt,无需对话框提示

使用JavaScript下载.txt,无需对话框提示,javascript,Javascript,是否可以仅使用JavaScript(无服务器端编程!)创建和下载.txt文件,并将其保存在本地驱动器上,而不显示浏览器的“保存文件”对话框?不,没有浏览器插件,这将是一个很大的安全风险 Rickard Staaf的答案已经过时了。 要在不提示对话框的情况下本地下载javascript文件,请确保在浏览器设置(chrome>>设置>>高级>>下载)中启用该文件,并关闭“下载前询问保存每个文件的位置” 随后,您可以使用blob对象编写一个简单的文本文件,如下所示: function save() {

是否可以仅使用JavaScript(无服务器端编程!)创建和下载.txt文件,并将其保存在本地驱动器上,而不显示浏览器的“保存文件”对话框?

不,没有浏览器插件,这将是一个很大的安全风险

Rickard Staaf的答案已经过时了。 要在不提示对话框的情况下本地下载javascript文件,请确保在浏览器设置(chrome>>设置>>高级>>下载)中启用该文件,并关闭“下载前询问保存每个文件的位置”

随后,您可以使用
blob
对象编写一个简单的文本文件,如下所示:

function save() {
  var content = ["your-content-here"];
  var bl = new Blob(content, {type: "text/plain"});
  var a = document.createElement("a");
  a.href = URL.createObjectURL(bl);
  a.download = "your-download-name-here.txt";
  a.hidden = true;
  document.body.appendChild(a);
  a.click();
}

想象一下,在一个世界里,任何网页都可以不经您要求就写入您的本地文件系统……嗯,您可以将文本存储在或中,但不能直接存储在特定的驱动器上。这很容易,到目前为止,这里的其他人都是错误的。如果您想保存许多文件,您必须在第二次或第三次下载后确认一次,然后您可以整天不必进行任何更改就可以下载进一步单击。@Bergi-没有沙盒文件系统。以前的文件系统API已经存在,也不应该存在。@dandavis:如果没有显示文件保存对话框,那里的示例对我都不起作用。无论如何,这将是非常不直观的。