在我当前的项目中,每次他/她登录到站点时都必须显示一个Popup(欢迎信息)。在弹出窗口用户有一个选项(Onclick CheckBox)来隐藏弹出窗口30天。如何创建一个可以存储列表/数组的Cookie
我通过保存一个UserUniqueId cookie(这应该是一个数组/列表),当他/她点击弹出框上的复选框来实现。如下
var UniqueId = "xxx";
var uIDCookies = [];
// looping to get all the values that are stored in cookie
$.each($.cookie(), function(i, v) {
uIDCookies.push(i);
});
// if current userUID not found in cookie then showing popup
if (($.inArray(UniqueId, uIDCookies)) === -1) {
//show popup
} else {
// hide popup
}
// create cookie and set expire time
$('.checkBox').on('click', function() {
var date = new Date();
var minutes = 3;
date.setTime(date.getTime() + (minutes * 60 * 1000));
$.cookie(UniqueId, { expires: date, path: '/' });
//hide popup
});
不管是什么,我通过循环被存储在客户端浏览器,以便所有cookie值,我觉得有可能是一个更好的方式来实现这一目标。建议请.. !!
'$ .cookie(UniqueId)'? – Malk
除非两个用户在同一台浏览器上的同一台计算机上登录到该网站,否则Cookie中永远不会有多个用户。这是你需要处理的场景吗?其次,将用户标识保存在非加密的cookie中是一个非常糟糕的主意。 –
Cookie在本地存储在用户的计算机上。我不明白为什么你应该有多个uuid,而你只有一个用户。 –