localStorage还是其他什么?

时间:2016-08-23 18:06:45

标签: jquery html5 local-storage

我正在尝试找出在div内存储动态加载的html的最佳方式,以便用户下次访问。

我已经阅读了一些关于localStorage的内容,并且可能会对此信息进行字符串化,但是,我对实现情况并不十分清楚。

然而,如上所述,这就是我目前所做的以及我想要完成的事情。

我使用的代码如下:

$(function() {
    $('.cordpass').click(function() {
        var collection = $(this).find('span').load(this.href + ' #cords');
        $('#summary').append( $(collection) );
        return false;
    });
});

这实际上是从其他网页抓取信息并将其添加到ID为div的{​​{1}}。这可以从页面上的多个对象完成(它们都在地图上)。无论如何,用户可以排序和各种东西。这对我的需求很有用。但是,我想将HTML保存在#summary中,以便下次用户访问时,HTML就在那里。

最好的方法是什么? #summary是否适合我,或者我完全误解了它的使用,还有另一种方法可以存储HTML以供下次访问吗?

1 个答案:

答案 0 :(得分:0)

我认为如果每个用户的数据不同,您可以将数据存储在mysql数据库中。如果数据来自另一个页面,您只需将链接存储到数据库中的其他页面,而不是所有数据。

页面上的每个用户在数据库中都有不同的ID,因此他们只能看到他们的数据。假设您有某种登录程序。

目前还没有足够的信息来提供更好的答案。

好的我会加入这个。您当然可以使用cookie在客户端存储信息。当然,每个cookie的cookie限制为4k。听起来不多,但这是4000个字符的文字。就像我说你不想在很多文本中使用cookie一样,但是可以存储一些链接和变量。

设置cookie执行此操作

setcookie($cookiename, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day

这是30天,但如果您真的想要,可以使有效期限无限制。 要回复cookie,请执行此操作

echo $_COOKIE['cookiename'];

您也可以将数组存储在cookie中。

$test = array(
0 => array('bill', 'ted'),
1 => array('alpha', 'romeo'),
2 => array('Chad', 'Something')
);

setcookie('names', $test);

但是,如果用户登录,我仍然建议将他们的数据存储在mysql数据库中。

也可能有其他方法。请记住,cookie仅存在于打开它们的浏览器中。因此,如果您在一个浏览器中查看该页面然后更改浏览器,那么cookie就不会存在。或者,如果他们从另一台机器访问。

如果用户有登录信息,那么机器访问您的信息页并不重要。