我需要每个浏览器会话只显示一次fancybox横幅

时间:2014-07-06 04:15:35

标签: javascript jquery html fancybox

我有两个横幅一页一页是页面上的第一页我将这一个显示为向下滑动横幅,我可以使用以下脚本在每个浏览器会话中显示此横幅

<div class="welcome">
    <div>
    <h1>Hello..!<br> Welcome to ABC
    <br>
    </h1>
    <h2>We wish you a Great Day..!</h2>
    <br>

    <h2><a id="close-welcome" href="#">Thank you.. and please take me to the     website</a> </h2>
    </div>
   </div>
<script type="text/javascript" src="https://raw.github.com/carhartl/jquery-cookie/master/jquery.cookie.js"></script>
   <script>
$(document).ready(function() {
    if ($.cookie('noShowWelcome')) $('.welcome').hide();
    else {
        $("#close-welcome").click(function() {
            $(".welcome").fadeOut(1000);
            $.cookie('noShowWelcome', true);    
        });
    }
});
</script>

这很好但我有另一个Fancy-Box横幅,它显示了一个图像横幅

<a href="#" class="fancybox-messageboard" style="display:block;"><img src"http://upload.wikimedia.org/wikipedia/commons/1/1a/Bachalpseeflowers.jpg"/></a>

我想对上面的花式框横幅做同样的事情,它也应该每个浏览器会话只显示一次。

更新

我修改了我的代码,使其适用于jQuery.Cookie

以下代码打算每个浏览器会话只显示一次Fancybox,此代码仅在firefox私密模式下正常工作。

 if (window.showMessage) {
            alert('1');
            var visited = $.cookie('visited2');
            if (visited == 'yes') {
                alert('a');
                return false;
            } else {
                alert('b');
                //openFancybox();
                $("a.fancybox-messageboard").fancybox({
                    width: 600,
                    height: 440,
                    closeClick: false,
                    hideOnOverlayClick: false,
                    href: imgPath,
                    helpers: {
                        overlay: { closeClick: false} // prevents closing when clicking OUTSIDE fancybox 
                    }
                }).trigger('click');
                $.cookie('visited2', 'yes', { expires: 7 });
            }

        }

上述代码的问题在于它仅适用于Firefox私密模式,只有它在IE浏览器中显示弹出窗口或在私人模式下不是事件。

我不确定它的行为是什么。

0 个答案:

没有答案