假设这些标准是客户端而不是服务器端,因为如果它们是服务器端并且它应该是一个“重要”文件all如果没有存储,用户就无法做到这一点。
您的解决方案的假定答案是 localStorage()...
它依赖于 Javascript,绝对不是一个完美的解决方案,但是HTML5 本地存储 http://diveintohtml5.info/storage.html允许您在用户的计算机上存储首选项。
首先,检测对 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");
对于那些使用不受支持的(较旧的)浏览器的人,您可以使用本地存储黑客 http://dojotoolkit.org/api/jsdoc/HEAD/dojox.storage.manager滥用 Flash LSO,但这些绝对不理想。
会话或cookie 怎么样?
这两种都是有意的临时存储形式。即使是 Flash LSO 也比 cookie 更适合长期存储。
这种限制实际上是在鼓励不良做法......
所有这些选项都是浏览器端的。如果用户移动到另一台 PC,他/她的首选项将在该 PC 上重置,这与数据库驱动的身份验证系统不同,您可以在登录时保存首选项。
存储此类数据的最佳方法是在数据库中。如果您无法运行数据库服务,您可以使用SQLite http://php.net/manual/en/ref.sqlite.php或将数据存储在 JSON 或 XML 文件中。