首页 > 解决方案 > 如何保存设置了变量值的js文件?

问题描述

我是一个初学者,所以我缺乏正确的词汇来清楚地表达我想尝试的东西 - 或者搜索它以便出现正确的答案。但我会尝试解释:

我有一个简单的 javascript 应用程序,它有一堆变量,这些变量通过 jQuery ajax 填充来自数据库的值,具体取决于初始用户选择。现在,一旦应用程序正确加载了从数据库中检索到的所有值,我想将其保存在此状态以供离线使用。

如果我对所有变量值进行硬编码,应用程序在没有 Internet 访问的情况下也可以正常工作,但由于它们取决于用户在启动时的选择,因此这并不是一个真正的选择。所以我想,也许我可以将加载的状态保存为 js 文件。有没有这样的技术?

一旦用户单击“下载以供离线使用”,我的后备解决方案将是在 php 中进行艰苦的工作。就像将 js 文件的副本保留为带有变量值占位符的字符串,然后在用户做出初始选择后用数据库中的值替换它们。但老实说,我觉得必须有一个更优雅的解决方案。

标签: javascript

解决方案


在浏览器 Javascript 中,出于安全原因,您不能保存文件。但是,有一个调用的 APIlocalStorage允许您在浏览器中存储持久信息。您可以将所有变量放在一个对象中,将其字符串化为 JSON,然后将其保存在 localStorage 中,然后通过解析 JSON 来检索它们:

// saving variables
var myVariables = {a: 1, b: "foo", c: [4, 5, 6]};
localStorage.setItem("vars", JSON.stringify(myVariables));
// retrieving variables
var retrievedVariables = JSON.parse(localStorage.getItem("vars"));
console.log(retrievedVariables.b); // "foo"

推荐阅读