繁体   English   中英

如何保存设置了变量值的js文件?

[英]How to save a js file with the variable values set?

我是初学者,所以我缺乏适当的词汇来清楚地表达我想尝试的东西——或者搜索它以便找到正确的答案。 但我会尝试解释:

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

如果我硬编码所有变量值,应用程序在没有 inte.net 访问的情况下也能正常工作,但由于它们取决于用户在开始时的选择,所以这不是一个真正的选择。 所以我想,也许我可以将加载的 state 保存为 js 文件。 有这样的技术吗?

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

在浏览器 Javascript 中,出于安全原因,您不能保存文件。 然而,有一个名为localStorage的 API 允许您在浏览器中存储持久信息。 您可以将所有变量放在一个 Object 中,将其字符串化为 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"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM