当没有要维护的数据库和用户进行身份验证时,这很好。我的教授要求我转换他最近使用Bespin的研究项目,并计算用户在代码编辑器中所犯的错误,作为他研究的一部分。
目标是完全从MySQL转换为使用HTML5 localStorage
。虽然挖掘他的代码可能需要一些时间,但似乎并不难做到。
问题:
我需要存储文件和状态(光标和活动文件的最后放置)。我已经通过实施another stackoverflow thread中的建议来实现这一目标。但是想要考虑如何构建要使用的内容。
我目前的解决方案> Hashmap就像使用javascript对象的解决方案一样:
files = {};
// later, saving
files[fileName] = data;
然后使用一些recommendations
存储在localStorage中localStorage.setObject("files", files);
// Note that setObject(key, data) does not exist but is added
// using Storage.prototype.setObject = function() {...
目前我也在考虑使用某种类型的数字ID。这样就可以更改名称,而无需在hashmap中重命名密钥。你对它的解决方式有什么看法,你会以不同的方式做到这一点吗?
答案 0 :(得分:8)
目前我已经决定在做了一些阅读和研究之后,最好的方法是使用对象文字将所有内容存储在对象中:
var files = {};
// Add loads of data
然后使用JSON.stringify()
存储它们:
localStorage.setItem('myFiles', JSON.stringify(files));
这是一种很好的做法,因为它存储了大量易于存储和访问的信息。此外,它还可以防止在使用localStorage
中添加键值对信息的简单方法以及何时使用localStorage.setItem(key, value)
函数