我在主页加载后会出现一个弹出窗口,我需要确保每个新访问者只会出现一次。
最好的方法是什么?我对jQuery和PHP非常熟悉,但老实说我暂时没有使用任何类型的cookie。
欢迎所有建议。
谢谢
答案 0 :(得分:2)
我能想到3种可能性:
PHP会话:
当事件触发时,向服务器发出AJAX调用。将用户的session_id存储在某处,例如在数据库中(带有sessionid的简单1列表就足够了)。如果您检查数据库并在那里找到sessionid,则您知道该用户已经触发了该事件。
Javascript Cookie:
只需将信息存储在JS cookie中即可。如果你想坚持使用jQuery,可以使用nice plugin for this kind of purpose。
浏览器商店:
这可以是sessionStore or localStore,您可以在其中轻松保存识别已触发事件所需的信息。
就个人而言,如果您知道访问者的浏览器,我会选择2或者3,因为不是每个浏览器都能够做到这一点(尽管我怀疑是否还有人想要支持IE6 / 7)
答案 1 :(得分:1)
在这种情况下,您可以使用会话或Cookie。
1.检查cookie visited_already
是否存在。
2.如果存在,他已经访问过我们的网站,什么都不做。
3.Else,首次访问:做一些事情并创建visited_already
cookie。
例如:
if(!isset($_COOKIE['visited_already']))
{
setcookie('visited_already' , 'true' , time()+60*60*24*7*365); //Will expire in a year (or when the user delete cookies)
//pop-up code here.
}
答案 2 :(得分:0)
感谢您的贡献。
我找到了另一种完美的解决方案。 这个链接帮了我很多: How to set cookies in Javascript
jQuery(window).load(function() {
var cookie_mesage = jQuery.cookie('welcome');
if (cookie_mesage != 'hide') {
jQuery('.ceebox').trigger('click');
jQuery.cookie('welcome', 'hide');
};
});
速度快,工作正常,正是我需要的。