假设这些标准是客户端而不是服务器端,因为如果它们是服务器端并且它应该是所有用户的“重要”文件,那么没有存储就没有办法做到这一点.
你的解决方案的假设答案是localStorage()……
它依赖于Javascript,绝对不是一个完美的解决方案,但HTML5 localStorage允许您在用户的计算机上存储首选项.
首先,检测对localStorage()的支持:
if (Modernizr.localstorage) { // with Modernizr
if (typeof(localStorage) != 'undefined' ) { // Without Modernizr
然后设置一个参数,如果它是支持的:
localStorage.setItem("somePreference", "Some Value");
然后检索它,只要您的用户没有清除本地存储:
var somePreference = localStorage.getItem("somePreference");
如果要清除它,只需使用:
localStorage.removeItem("somePreference");
对于那些使用不受支持(较旧)浏览器的用户,可以使用local storage hacks滥用Flash LSO,但这些绝对不理想.
会话或cookie怎么样?
这两者都是故意临时的存储形式.即使Flash LSO比长期存储的Cookie更好.
这种限制实际上是鼓励不良做法……
所有这些选项都是浏览器端.如果用户移动到另一台PC,他/她的首选项将在该PC上重置,这与数据库驱动的身份验证系统不同,您可以在其中保存首选项以防止登录.
存储此类数据的最佳方法是在数据库中.如果无法运行数据库服务,则可以使用SQLite或将数据存储在JSON或XML文件中.