我有一些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中。