例如,当用户第一次输入网址时, 将出现像“喜欢我们FB上的页面”这样的弹出窗口。
当用户浏览网站并返回首页时, 不应出现上方弹出窗口。
如果我使用window.onload或脚本, 每次加载页面时都会出现。
还有其他办法吗?
谢谢。
答案 0 :(得分:4)
您可以使用Cookie:http://www.w3schools.com/js/js_cookies.asp
或HTML5网络存储:http://www.w3schools.com/html/html5_webstorage.asp
虽然支持Cookie得多得多......
基本的想法是存储一个cookie,说明你显示了弹出窗口,每当你重新加载主页时,你会检查cookie是否存在。如果存在,则不需要弹出窗口,否则显示弹出窗口。
答案 1 :(得分:1)
您可以执行此操作using cookies。转到我的demo here,你会看到消息,然后,如果你刷新你不会!
//check if we've asked them before (in the last 5 minutes)
if (!(new RegExp('homeFacebookMessage=true')).test(document.cookie)) {
//take a temporary (5min) note that we've asked them
document.cookie = 'homeFacebookMessage=true;path=/;max-age=' + 5 * 60 + ';';
//ask them (your code here)
alert('Like us on faceface!');
}
你甚至可以尝试一些Web Storage,它将一直运行到IE8。这是a demo。
//check if we have asked them already
if (!localStorage.getItem('homeFacebookMessage')) {
//make a note that we've asked them
localStorage.setItem('homeFacebookMessage', 'true');
//ask them (your code here)
alert('Like us on faceface!');
}
与localStorage
的区别在于它是永久性的,并且在5分钟后(当我们的cookie在第一个示例中到期时)不会提醒用户“喜欢”。
但是,如果你真的喜欢网络存储方法,你可以为homeFacebookMessage
分配一个日期/时间,并检查多久以前它而不是简单地测试它的存在以获得相同的效果。