如何为用户只加载一次弹出?
How to load pop only once for a user?
我已经使用下面的代码在页面加载时加载弹出窗口,我不希望每次用户刷新页面时都加载它
$(function () {
var overlay = $('<div id="overlay"></div>');
overlay.show();
overlay.appendTo(document.body);
$(document).ready(function() {
$('.popup').show();
$('.close').click(function(){
$('.popup').hide();
overlay.appendTo(document.body).remove();
return false;
});
});
使用 window.localStorage API 是一种非常简单的方法:
$(function () {
if (window.localStorage.popupHasBeenShown)
return;
var overlay = $('<div id="overlay"></div>');
overlay.show();
overlay.appendTo(document.body);
$(document).ready(function() {
window.localStorage.popupHasBeenShown = true;
$('.popup').show();
$('.close').click(function(){
$('.popup').hide();
overlay.appendTo(document.body).remove();
return false;
});
});
有些人可能更喜欢使用 cookie API,即 window.document.cookie
,一个优点是设置到期日期非常容易 — 例如,您可以让弹出窗口只显示一次一周左右:
document.cookie = "doSomethingOnlyOnce=true; expires=Fri, 31 Dec 9999 23:59:59 GMT";
我已经使用下面的代码在页面加载时加载弹出窗口,我不希望每次用户刷新页面时都加载它
$(function () {
var overlay = $('<div id="overlay"></div>');
overlay.show();
overlay.appendTo(document.body);
$(document).ready(function() {
$('.popup').show();
$('.close').click(function(){
$('.popup').hide();
overlay.appendTo(document.body).remove();
return false;
});
});
使用 window.localStorage API 是一种非常简单的方法:
$(function () {
if (window.localStorage.popupHasBeenShown)
return;
var overlay = $('<div id="overlay"></div>');
overlay.show();
overlay.appendTo(document.body);
$(document).ready(function() {
window.localStorage.popupHasBeenShown = true;
$('.popup').show();
$('.close').click(function(){
$('.popup').hide();
overlay.appendTo(document.body).remove();
return false;
});
});
有些人可能更喜欢使用 cookie API,即 window.document.cookie
,一个优点是设置到期日期非常容易 — 例如,您可以让弹出窗口只显示一次一周左右:
document.cookie = "doSomethingOnlyOnce=true; expires=Fri, 31 Dec 9999 23:59:59 GMT";