我有一个使用javascript弹出效果的网站:
<script type="text/javascript">
var GB_ROOT_DIR = "greybox/";
</script>
<script src="greybox/AJS.js" type="text/javascript"></script>
<script src="greybox/AJS_fx.js" type="text/javascript"></script>
<script src="greybox/gb_scripts.js" type="text/javascript"></script>
<link href="greybox/gb_styles.css" type="text/css" rel="stylesheet">
<script language="JAVASCRIPT">
function loadWindow(){
GB_showCenter('Free Report!', 'http://www.signupformlocation.com/popup/signup.php', 420, 570);
}
window.onload = loadWindow;
</script>
但每次访问者访问主页时,我的弹出窗口都会显示出来。怎么做这个弹出窗口只显示一次?
请帮帮我
答案 0 :(得分:4)
你可以使用cookies和jquery
<script src="js/jquery.cookie.js" type="text/javascript"></script>
<script>
function loadWindow() {
if ($.cookie('popup_flag') != 'true') {
GB_showCenter('Free Report!', 'http://www.signupformlocation.com/popup/signup.php', 420, 570);
$.cookie('popup_flag', 'true');
}
}
</script>
答案 1 :(得分:0)
我个人会选择JStorage,它是一个HTML5 jQuery插件,它使用大多数流行浏览器上的本地存储。
示例:
var loadWindows = function()
{
if(!$.jSotreage.get('welcome_flag'))
{
GB_ShowCentre('Free Support!') // Blah
$.jStorage.set('welcome_flag',true);
}
}
使用JSON序列化本地存储中的所有数据: -
jStorage:http://plugins.jquery.com/project/jStorage
草稿:http://dev.w3.org/html5/webstorage/
没有jQuery:Storing Objects in HTML5 localStorage
每个域名你可以存储大约5MB,所以这将是有益的,并且应该在javascript环境中接管cookie的使用。