任何编写文本文件并将其替换为上一个文本文件的方法



我有一些javascript,当用户离开页面时,我用它来编写文本文件。以下是功能:

function handleBrowserCloseButton() { 
get_text();   
var textToWrite = array;
var textFileAsBlob = new Blob([textToWrite], {type:'text/plain'});
var fileNameToSaveAs = "windows.txt"
var downloadLink = document.createElement("a");
downloadLink.download = fileNameToSaveAs;
downloadLink.innerHTML = "Download File";
downloadLink.href = window.webkitURL.createObjectURL(textFileAsBlob);
downloadLink.click();
}

这很有效。唯一的问题是文件名是常量-"windows.txt"。这意味着每次用户离开页面时,所写的文件都是"windows(n).txt",其中n的值每次增加一。

有没有办法让javascript替换文件"windows.txt",而不是每次都创建一个新文件?

否,如果您使用浏览器的JavaScript,出于安全原因,您不能更改本地机器上的现有文件。

但是,如果文件不是太大,您可以尝试使用localStorage

 // Store
 localStorage.setItem("key", "value");
 // Retrieve
 localStorage.getItem("key");

关于localStorage的大小:localStorage值的最大大小是多少?

localStorage中的键值对将根据每个浏览器的实现存储在浏览器中。

根据Patrick Evans的有益评论,我从尝试编写本地文本文件切换到将数据存储在localStorage中。

最新更新