33

我有一个 html 页面,当页面加载时会打开一个弹出窗口。

我只需要在页面第一次打开时设置弹出窗口。我认为要设置会话或cookie。

    <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

2 回答 2

70

使用localStorage存储您打开页面的事实:

$(document).ready(function() {
    var yetVisited = localStorage['visited'];
    if (!yetVisited) {
        // open popup
        localStorage['visited'] = "yes";
    }
});
于 2012-06-20T16:10:16.370 回答
12

您可以尝试使用 HTML5s sessionStorage 它持续页面会话的持续时间。只要浏览器打开并在页面重新加载和恢复后仍然存在,页面会话就会持续。在新选项卡或窗口中打开页面将导致启动新会话。

sessionStorage.setItem("用户名", "约翰");

https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage#sessionStorage

浏览器兼容性https://code.google.com/p/sessionstorage/兼容所有 A 级浏览器,包括 iPhone 或 Android。http://www.nczonline.net/blog/2009/07/21/introduction-to-sessionstorage/

于 2014-03-12T08:11:22.177 回答