基本的cookie问题

时间:2011-05-03 22:31:40

标签: php jquery cookies

对于某个项目,我希望在用户初次访问某个页面时显示一个警告/通知框,然后假设用户点击“x”关闭该通知,它将停止显示在后续访问 - 我想这需要设置一个cookie(通过PHP),也许包含警告div通过jQuery响应cookie的存在与否?这里有关于如何入门的任何基本方向,我们非常感谢...

3 个答案:

答案 0 :(得分:1)

您可以使用浏览器端cookie执行此操作:查看jquery cookie插件http://plugins.jquery.com/project/Cookie

编辑:这是我使用它的方式。

保存有用的通知会保留我的有用的通知对象,因此我不会显示任何超出应该显示的通知。

if(!helpfulnotices.multiupload){
            helpfulnotices.multiupload = true;
            top.flicsy.notify_user(flicsy_lang.message_upload_multiple, "", true);
            self.save_helpful_notices();
        }

以下是使用jquery JSON cookie扩展保存结构的代码:

save_helpful_notices: function()
    {
        var date = new Date();
        date.setTime(date.getTime() + (7 * 24 * 60 * 60 * 1000));  // expire in a week or thereabouts
        jQuery.JSONCookie('helpfulnotices', helpfulnotices, {path: '/', expires: date });
    },

并在页面加载时我重新补充它:

helpfulnotices = jQuery.JSONCookie('helpfulnotices');

答案 1 :(得分:1)

您应该可以使用Cookie设置此项。但是,它不能保证用户下次不会看到它。它也不能保证新用户会看到它(如果它们在共享计算机上)。

这些东西最好与“用户登录系统”结合使用,因此您可以单独跟踪每个用户。然后,您可以将设置存储在数据库中,并在后续访问中调用每个用户的设置。

答案 2 :(得分:1)

您可以将信息保存在Cookie中,但这意味着您将始终从客户端向服务器来回发送此Cookie。

如果要阻止这种情况,可以使用名为localStorage

的新HTML5变量

http://www.bing.com/search?q=html5+localStorage&src=ie9tr

所以基本上,如果它存在于浏览器上,你可以使用localStorage,如果它没有使用cookie回退。那将是最佳解决方案。