【发布时间】:2011-04-21 17:05:23
【问题描述】:
不重复:我读过很多这样的问题,但最后总是“使用 PHP 或服务器端的东西,并注意注入/数据操作”。
我想在客户端存储简单的东西(保存和加载),例如 Google 地图位置,并希望它在页面刷新之间保持不变。
我不想使用 PHP 或任何服务器端的东西。
我该如何继续?
谢谢
【问题讨论】:
标签: javascript
不重复:我读过很多这样的问题,但最后总是“使用 PHP 或服务器端的东西,并注意注入/数据操作”。
我想在客户端存储简单的东西(保存和加载),例如 Google 地图位置,并希望它在页面刷新之间保持不变。
我不想使用 PHP 或任何服务器端的东西。
我该如何继续?
谢谢
【问题讨论】:
标签: javascript
您可以使用cookies 或localStorage。
【讨论】:
如果 html5 不是问题,我会说 localstorage 是要走的路:
//set value
localStorage.setItem('todoData', this.innerHTML);
//read value
if ( localStorage.getItem('todoData') ) {
edit.innerHTML = localStorage.getItem('todoData');
}
从 http://net.tutsplus.com/tutorials/html-css-techniques/quick-tip-learning-about-html5-local-storage/ :-)
【讨论】:
在客户端存储数据有多种选择 - IndexedDB、localstorage、webSQL、SessionStorage、Cookies 等。
索引数据库
本地存储
会话存储
您可以查看YDN-DB here
【讨论】:
您必须牢记的关键问题是您不能信任客户。如果客户端可以请求任何位置,那么您可以将位置存储在客户端。但是您无法确认您从客户端返回的值是您给予该客户端的值。
这就是“数据操作”的含义[注入是一种特殊类型的数据操作,因为如果您将其用作 SQL 查询或其他脚本的一部分,则可以对其进行操作以包含结束引号之类的内容。 ]
【讨论】:
出于以下几个原因,我强烈建议使用 localStorage:
另外,请注意,您不能使用 localStorage 存储对象,就像您不能使用 cookie 一样,但是您可以转换它们。例如,如果您想存储Date(),请不要将其存储为new Date(),将其存储为:'\'+Date().getTime()+'\'。其他对象也一样。
【讨论】:
【讨论】:
如何将其存储在 cookie 中? 对于 JavaScript,我推荐使用 jQuery,它可以简化很多工作。
【讨论】:
【讨论】: