我有一些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"而不是每次都创建一个新文件?
答案 0 :(得分:0)
不,如果您使用的是浏览器的JavaScript,出于安全考虑,您无法更改本地计算机上现有的文件。
但如果文件不是太大,您可以尝试使用localStorage
。
// Store
localStorage.setItem("key", "value");
// Retrieve
localStorage.getItem("key");
关于localStorage
的大小:
What is the max size of localStorage values?
localStorage中的键值对将存储在浏览器中,并根据每个浏览器的实现。
答案 1 :(得分:0)
基于Patrick Evans的有用评论,我尝试写出本地文本文件,然后将数据存储到localStorage中。