0

ユーザーがリンクをクリックするとjQueryUIダイアログが表示されるワードプレスプラグインを開発しました。

そのダイアログには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>

インストールされたプラグインが含まれています。

4

3 に答える 3

2

私も同じ問題を抱えていました。実際には、これをダイアログページに配置する必要があります。これは私のために働きます。

<script> 
    jQuery(document).ready(function() {
       FB.XFBML.parse();
     });
</script>
于 2012-10-04T13:41:07.290 に答える
0

Facebook SDKがすでに初期化された後にロードされるので、「いいね」ボタンを再解析してみてください。ポップアップがトリガーされたときに次のコードを呼び出すと、問題が修正されます。

FB.XFBML.parse();
于 2012-09-05T11:31:10.330 に答える
0

それはとても大ざっぱでした...私はFacebookの機能をヘッダーに含めていました。ボディやフッターに入れるとうまくいき、もう消えませんでした…頑張ってくれてありがとう、

于 2012-10-05T23:36:41.613 に答える