如何仅在第一次设置页面加载弹出窗口?

时间:2012-06-20 10:04:57

标签: javascript jquery

如何设置首次加载页面时打开的弹出窗口?我在弹出窗口中使用此代码如何为此弹出窗口设置会话?有没有办法使用ip作为会话?

    <script>
        !window.jQuery && document.write('<script src="fancybox/jquery-1.4.3.min.js"><\/script>');
    </script>

    <script type="text/javascript" src="fancybox/jquery.fancybox-1.3.4.pack.js"></script>   

    <script type="text/javascript">

    $(document).ready(function() {


        $("a#example1").fancybox();

        $("a#example1").trigger('click');


    });
    </script>


    <link rel="stylesheet" type="text/css" href="fancybox/jquery.fancybox-1.3.4.css" media="screen" />


</head>



<body>

<a id="example1" href="images/pic.jpg"></a> 



</body>

4 个答案:

答案 0 :(得分:3)

检查cookie,如果没有,请执行弹出窗口并设置下次cookie;如果cookie在那里,请不要弹出窗口。 Quirksmode有some functions用于简化cookie,或者当然有jQuery cookie plugin(可能还有大约50个)。

答案 1 :(得分:2)

您可以使用jquery-cookie

演示:

$(document).ready(function() {
       if($.cookie('popup') != 1){
           $.cookie('popup', '1');
           $("a#example1").fancybox();
           $("a#example1").trigger('click');
        }
    });

答案 2 :(得分:0)

使用会话对您的服务器造成不必要的负担。请改用cookie,这有助于将数据存储在用户的计算机中。

使用Javascript /您的服务器语言检查cookie并根据其值显示弹出窗口!

答案 3 :(得分:0)

你可以使用Cookies或localStorage 使用Cookies:

$(document).ready(function() {
var loadfirst = getCookie("loadfirsttime");
if(loadfirst == null){
setCookie("loadfirst", "again" 1); // 1 is the number of days
$("a#example1").fancybox();
 $("a#example1").trigger('click');
}
});

使用LocalStorage:

$(document).ready(function() {
 var loadfirst = localStorage.getItem("loadfirsttime");
if(loadfirst == null){
localStorage.setItem('loadfirst ', 1); // 1 is value assigned.
$("a#example1").fancybox();
 $("a#example1").trigger('click');
}
});

由于