我当前正在创建一个脱机HTML页面,该页面显示带有复选框的元素列表。但是如果我关闭并重新打开页面,我的复选框都是未选中的(正常)。因此,我使用“a”元素创建了一个“save”按钮,如下所示:
var file = new Blob([data], {type: 'application/text'});
var a = document.createElement("a");
url = URL.createObjectURL(file);
a.href = url;
a.download = 'testSaveJson.js';
document.body.appendChild(a);
a.click();
我将我的数据保存为一个js文件,并且这个文件在我的HTML中是打开的,但是我想知道两件事:
1-是否有一种方法可以在一个特定的位置进行下载,而不需要浏览器询问下载文件的位置,如果已经有一个同名文件,则覆盖上一个文件?
2-是否有更好的(和可靠的)方法来保存关于我的网页的本地信息,例如,通过使用cookie?如果使用这种解决方案长时间不重新打开页面,是否存在浏览器丢失数据的风险?
我仍然是一个初学者,这是真正的本地使用仅(此页不是设计为联机工作,并包含链接到本地文件在我的计算机)
谢谢你的回答
第一个问题
最重要的策略是绝不允许web应用程序在没有用户交互的情况下从本地文件系统加载文件。对于将文件存储到磁盘也是如此,但您通常可以在其设置中告诉浏览器存储该文件而无需请求许可。但在Firefox中,例如,您不能选择“不问和覆盖”的组合。要么是“不要向商店询问新的副本”,要么是“询问是否覆盖”。这完全取决于浏览器。
第二个问题
强烈建议将非易失性信息存储到文件中。有一些方法可以将其存储在浏览器的存储中,但是如果您不小心清除了缓存,您就会失去一切。