2012-09-05 64 views
0

我開發了一個單詞按插件,當用戶點擊一個鏈接時會導致jQuery UI對話框顯示。facebook like button在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> 

包含安裝的插件。

回答

0

這太粗略了......我把臉書的功能包括在標題中。當我把它放入正文或頁腳時,它可以正常工作,並且不會消失... 感謝您的全部努力,

0

嘗試重新解析Like按鈕,因爲它在Facebook SDK已經初始化後加載。觸發彈出窗口時調用以下代碼應修復問題:

FB.XFBML.parse(); 
+0

我真的很感激快速的興趣我已經將該代碼添加到了ui對話框中的open方法中, \t開:函數(事件,UI){ \t \t \t \t \t \t \t FB.XFBML.parse();} 和觸發功能 \t \t的jQuery( 「clinky」)後點擊(函數(事件) FB.XFBML.parse(); jQuery(「.cdialog」)。dialog(「op EN「); }); 和打開對話框 \t \t的jQuery( 「clinky。 」)後點擊(函數(事件){jQuery的 (「 CDialog的。 」)對話框(「 開放」); FB.XFBML.parse(); }); 沒有一個讓底部出現 –

+0

嘗試在JavaScript'setTimeout'函數內調用'FB.XFBML.parse();'。如果在代碼出現之前進行parse()調用,它可能不工作。類似500-1000毫秒的應該就夠了,但隨時可以隨時播放。 –

+0

當我做FB.XFBML.parse();對話框打開後消失 –

2

我遇到了同樣的問題。其實,你需要把它放在對話框頁面中。這對我有用。

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