【问题标题】:How to prevent popup Facebook like box if click close button如果单击关闭按钮,如何防止弹出 Facebook 喜欢框
【发布时间】:2014-03-04 10:16:26
【问题描述】:

我想在我的网站上添加一个弹出式 Fb 框,当访问者向下滚动时会出现弹出式窗口。我希望当访问者单击关闭按钮时弹出框不会出现 15 天。但是当我单击它的关闭时,它会在我向上或向下滚动时显示。请问有人可以帮我吗? 我的代码是:

<!-- FB Popup Likebox Start -->
            <div class="fb-pop-like-box" id="fb-popup-like-box">
                <p style="text-align: center;">Hey, Like Us on Facebook!</p>
                <div class="fb-like-box" data-href="https://www.facebook.com/ifo4all" data-width="300" data-height="200" data-colorscheme="light" data-show-faces="true" data-header="false" data-stream="false" data-show-border="true"></div>
                <div class="no-show"><a href="#">Close: I already Like if04all!</a></div>
            </div>      
                <script type="text/javascript">
                    $(function () {
                        $("#fb-popup-like-box").hide();
                        $(window).scroll(function () {
                            if ($(this).scrollTop() > 2100) {
                                $('#fb-popup-like-box').slideDown('slow');
                            } else {
                                $('#fb-popup-like-box').slideUp('slow');
                            }
                        });
                    });
                    jQuery(document).ready(function(){

                    if(readFBCookie('squenched') != null) { 
                                jQuery('#fb-popup-like-box').css("display", "none");
                        }

                        jQuery('.no-show a').live("click",function(event){
                            event.preventDefault();
                            jQuery('#fb-popup-like-box').css("display", "none");
                            var days=15;
                            var date = new Date();
                            date.setTime(date.getTime()+(days*24*60*60*1000));
                            var expires = "; expires="+date.toGMTString();
                            document.cookie = "squenched=1"+expires+"; path=/";
                            return false;
                        });
                        function readFBCookie(name) {
                                  var nameEQ = name + "=";
                                  var ca = document.cookie.split(';');
                                  for(var i=0;i < ca.length;i++) {
                                    var c = ca[i];
                                    while (c.charAt(0)==' ') c = c.substring(1,c.length);
                                    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
                                  }
                                  return null;
                        }
                    });
                </script>
<!-- FB Popup Likebox Start End -->

【问题讨论】:

    标签: javascript jquery facebook cookies popup


    【解决方案1】:
    $(function () {
                        $("#fb-popup-like-box").hide();
                        $(window).scroll(function () {
                            if(readFBCookie('squenched') == null) { 
                            if ($(this).scrollTop() > 2100) {
                                $('#fb-popup-like-box').slideDown('slow');
                            } else {
                                $('#fb-popup-like-box').slideUp('slow');
                            }
                            }
                        });
                    });
                    jQuery(document).ready(function(){
    
                    if(readFBCookie('squenched') != null) { 
                                jQuery('#fb-popup-like-box').css("display", "none");
                        }
    
                        jQuery('.no-show a').live("click",function(event){
                            event.preventDefault();
                            jQuery('#fb-popup-like-box').css("display", "none");
                            var days=15;
                            var date = new Date();
                            date.setTime(date.getTime()+(days*24*60*60*1000));
                            var expires = "; expires="+date.toGMTString();
                            document.cookie = "squenched=1"+expires+"; path=/";
                            return false;
                        });
                        function readFBCookie(name) {
                                  var nameEQ = name + "=";
                                  var ca = document.cookie.split(';');
                                  for(var i=0;i < ca.length;i++) {
                                    var c = ca[i];
                                    while (c.charAt(0)==' ') c = c.substring(1,c.length);
                          if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
                                  }
                                  return null;
                        }
    
                    });
    

    【讨论】:

    • 非常感谢您的回答,我是 JS 的菜鸟,它不显示弹出窗口,并且控制台日志是“未捕获的 ReferenceError:未定义 readFBCookie”
    猜你喜欢
    • 1970-01-01
    • 2011-05-08
    • 1970-01-01
    • 2018-02-26
    • 2022-01-06
    • 1970-01-01
    相关资源
    最近更新 更多