Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.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_Autosave - Fatal编程技术网

JavaScript自动将文本保存到客户端的文件

JavaScript自动将文本保存到客户端的文件,javascript,autosave,Javascript,Autosave,我使用的是代码编辑器和文件视图,我希望代码编辑器中的用户类型自动保存在文件中。我有一个下载文件的功能,其中包含当前文本,如下所示: 函数saveFile(){ var text=editor.doc.getValue(); var text=text.replace(/\n/g,“\r\n”); var blob=new blob([text],{type:“text/x-python;charset=utf-8”}); saveAs(blob,selectedFileName.name); }

我使用的是代码编辑器和文件视图,我希望代码编辑器中的用户类型自动保存在文件中。我有一个下载文件的功能,其中包含当前文本,如下所示:

函数saveFile(){
var text=editor.doc.getValue();
var text=text.replace(/\n/g,“\r\n”);
var blob=new blob([text],{type:“text/x-python;charset=utf-8”});
saveAs(blob,selectedFileName.name);
}
使用FileSaver.js,链接:

我将文件存储在一个文件数组中,并将它们显示为无序列表

目前,我正在替换整个文件,如下所示:

fileList[0]=新文件([“内容”],“文件名”);

我是否可以直接更新文件列表中文件的文本,而无需创建新文件并替换它?

您可以使用本地存储技术在客户端存储数据。 //贮藏

//取回
document.getElementById(“结果”).innerHTML=localStorage.getItem(“lastname”)

在这里查看这个关于本地存储的示例,并用简单的文字给出一个示例 所以请检查一下--


本地存储通过js和html设置数据、获取数据和删除数据,因此我认为它的帮助非常充分--

您的要求不太清楚。我有一个文件列表,如果我想更改文件的文本,我必须创建一个新文件并替换当前文件。我可以在不替换整个文件的情况下更改当前文件的文本吗@Yushance的答案是否定的。您将始终必须打开一个文件,进行更改并保存它,从而通过替换旧文件来“创建新文件”。您的意思是,更改应反映在用户的磁盘上,或仅反映在文件列表对象(即仅在内存中)或仅反映在您拥有的文件对象中(即编辑文件对象指向的内存中的基础值)? 前两个是可行的(在某些浏览器中),后一个是不可能的:Blob和File对象是不可变的。但不清楚你为什么要这么做。清除未使用的文件对象是可以的。此外,如果您要大量修改这些文本的内容,为什么要使用文件来存储它?而是存储字符串,只在导出时构建Blob。这对我不起作用。现在的工作是这样替换整个文件:“fileList[0]=新文件[…诸如此类]”我可以在不替换文件的情况下更改fileList[0]的文本吗?
localStorage.setItem("lastname", "Smith");