facebook喜欢按钮在jquery ui对话框中消失

时间:2012-09-05 11:04:53

标签: facebook jquery-ui wordpress-plugin facebook-likebox

我开发了一个word press插件,当用户点击链接时会出现jQuery UI对话框。

该对话框包含一个facebook按钮。通常在对话框外部出现的按钮不会出现在对话框中。

当我加载页面并在页面完成加载之前快点点击链接时,按钮会显示并正常工作!!

我使用过FB调试器,没有警告。

jquery函数:

    <script type="text/javascript">
    var timer;
    var isclose=<?php echo get_option('WPVS_close')?>;
    jQuery(document).ready(function() {

    //jQuery(function(){        
    //popup box jquery settings

    jQuery(".cdialog").dialog("modal");
    jQuery(".cdialog").dialog({                     
                    autoOpen: false,
                    modal:true,
                    title: "",
                    zIndex: 9998,
                    closeOnEscape: true,
                    resizable: false,
                    width: <?php echo get_option('WPVS_width');?>,
                    height: <?php echo get_option('WPVS_height');?>,
                    beforeClose: function(event, ui) { clearTimeout(timer);    clearInterval(timer); },
                    open: function(event, ui) {
                        delay=<?php echo get_option('WPVS_delay');?> ;
                        isclose=<?php echo get_option('WPVS_close'); ?>;
                        timer=setInterval( "delaytime()" , 1000);
                        jQuery(".ui-dialog-titlebar", ui.dialog).hide();
                        jQuery(".ui-dialog-titlebar-close", ui.dialog).show();
                        if (!isclose||urll==location.href){jQuery("#closebutton").hide();};
                    }

                    });
  jQuery(function() {
       jQuery( "#closebutton" ).button({
        icons: {
            primary: "ui-icon-close"
        },
        text: false
    });

    jQuery( "#closebutton" ).click(function(event)
    {
        jQuery(".cdialog").dialog("close");
    });

});
    });
       </script>

包含对话框的div:

<div  class="cdialog"  title="" >
<p>Please Share Our Page On Social Networks Or Wait  <b class="ctimer" ></b> seconds<b class="ctimernn" ></b> To Be Redirected</p>
<div><fb:like href="'.get_option('ste_like').'" send="false" width="450" show_faces="true"></fb:like></div>
<div><a href="https://twitter.com/share" class="twitter-share-button" data-lang="en" data-text="'.get_option('ste_tweet').'" data-url="'.get_option('ste_tweet_url').'">Tweet</a></div>
<g:plusone callback="plusdone" href="'.get_option('WPVS_gplus').'"></g:plusone>         
</div>

包含已安装的插件。

3 个答案:

答案 0 :(得分:2)

我遇到了同样的问题。实际上,您需要将其放在对话框页面中。这对我有用。

<script> 
    jQuery(document).ready(function() {
       FB.XFBML.parse();
     });
</script>

答案 1 :(得分:0)

尝试重新解析Like按钮,因为它已在Facebook SDK初始化后加载。触发弹出窗口时调用以下代码可以解决问题:

FB.XFBML.parse();

答案 2 :(得分:0)

这太粗略了......我把facebook的功能包括在标题中。当我把它放入身体或页脚时它工作正常并且不再消失...... 感谢您的所有努力,