当前位置: 首页 > 知识库问答 >
问题:

用HTML+Javascript保存本地信息[重复]

俞飞鸣
2023-03-14

我当前正在创建一个脱机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?如果使用这种解决方案长时间不重新打开页面,是否存在浏览器丢失数据的风险?

我仍然是一个初学者,这是真正的本地使用仅(此页不是html" target="_blank">设计为联机工作,并包含链接到本地文件在我的计算机)

谢谢你的回答

共有1个答案

单嘉泽
2023-03-14

第一个问题

最重要的策略是绝不允许web应用程序在没有用户交互的情况下从本地文件系统加载文件。对于将文件存储到磁盘也是如此,但您通常可以在其设置中告诉浏览器存储该文件而无需请求许可。但在Firefox中,例如,您不能选择“不问和覆盖”的组合。要么是“不要向商店询问新的副本”,要么是“询问是否覆盖”。这完全取决于浏览器。

第二个问题

强烈建议将非易失性信息存储到文件中。有一些方法可以将其存储在浏览器的存储中,但是如果您不小心清除了缓存,您就会失去一切。

 类似资料:
  • 在本章《 Java字节流的使用》和《 Java字符流的使用》中已经详细介绍了字节、字符输入/输出流的应用,利用输出流我们可以将一些数据保存到磁盘文件中,利用输入流可以读取磁盘文件中的内容。本节将综合使用文件输入/输出流完成存储图书并将图书信息再读取出来的功能。 每到学校开学季都会新进一批图书教材,需要将这些图书信息保存到文件,再将它们打印出来方便老师查看。下面编写程序,使用文件输入/输出流完成图书

  • 问题内容: 我尝试在WKWebView上使用javascript加载本地HTML游戏。尽管我可以看到CSS样式的HTML页面,但是我听不到游戏的声音,并且某些游戏的动作不对应。 我注意到,如果我通过http live服务器加载完全相同的游戏,那么一切似乎都很完美。因此,我认为本地负载出了点问题。也许这一个Apache的问题可能是这个问题? Info.plist: 我的代码 (SWIFT 3) :

  • 正如你看到我的问题,我很困惑,因为我看到了许多文章和条纹文档解决方案,每次我得到不同的东西。我的应用程序流程类似于第一个用户,他将有两个选项 以前保存的卡片 输入新卡 在这样做的时候,我从客户那里获取卡的详细信息,然后我生成令牌并发送将从db获取的令牌和CusterId(如果是老客户),这意味着客户已经生成,在后端,我首先使用添加付款信息后获得的条带令牌创建客户(如果没有找到CusterId),然

  • 我有一个Apache Camel路由,它处理队列中的消息。为了更好地理解运行时发生的事情,我还将执行状态保存在数据库中(重试次数、上次执行状态、...)。我想使用异常处理程序中的重新传递机制,但它对每次更新数据库记录的失败都执行一些处理。

  • 如果这个链接正确,嵌套事务可能是一个解决方案https://www.credera.com/blog/technology-insights/java/common-oversights-usegry-nested-transactions-spring/

  • 如课程引言中所述,本地应用程序(如移动APP)能够利用本地操作系统的文件系统来存储和读取数据,这使得其可以在离线环境下工作,由于节省了大量网络数据传输,从而可以获得更高的性能。 HTML5里面引入的本地存储(Local Storage)接口就是为了达到相同的目的,把部分客户端数据保存在本地浏览器中,从而提高Web应用的性能。 和Cookie类似,本地存储也是和源(origin,也就是域名、协议和端