0

Like/Sendボタンを動的に作成します.fb-rootのDivはSDKが機能していることを表示していますが、何らかの理由でボタンが表示されていません.

$('body').prepend('<div id="fb-root"></div>');
   var _URL = window.location.href ;
 $('.center.pic-container').before('<div class="fb-like" data-href="'+_URL+'" data-send="true" data-layout="button_count" data-width="450" data-show-faces="false" data-font="segoe ui" data-action="recommend"></div>');
});
(function(d, s, id){
 var js, fjs = d.getElementsByTagName(s)[0];
 if (d.getElementById(id)) {return;}
 js = d.createElement(s); js.id = id;
 js.src = "//connect.facebook.net/en_US/all.js";
 fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));

これは、doc ready 関数でラップされています。動的に生成されるいいねボタンへの提案はありますか? たぶん、設定されたタイムアウトか何か?

2 番目に試行したコード =

$(function() {
   var Sscript = '<script type="text/javascript">';
   var Escript = '</script>';
   var code = Sscript +'(function(d, s, id){var js, fjs = d.getElementsByTagName(s)[0];if (d.getElementById(id)) {return;}js = d.createElement(s); js.id = id;js.src="//connect.facebook.net/en_US/all.js";fjs.parentNode.insertBefore(js, fjs);}(document, "script", "facebook-jssdk"));'+Escript;
 $('body').prepend('<div id="fb-root"></div>'+code);
   var add = $('.center.pic-container').children('a').first().attr('href');
   var URL = add.toString();
   var _URL = window.location.host + URL;
 $('.center.pic-container').before('<div class="fb-like" data-href="'+_URL+'" data-send="true" data-layout="button_count" data-width="450" data-show-faces="false" data-font="segoe ui" data-action="recommend"></div>');
    });
4

1 に答える 1

0

この質問への回答は、各行を確認した後にわかりました。

$('body').prepend('<div id="fb-root"></div>');
  var _URL = window.location.href ;
 $('.center.pic-container').before('<div class="fb-like" data-href="'+_URL+'" data-send="true" data-layout="button_count" data-width="450" data-show-faces="false" data-font="segoe ui" data-action="recommend"></div>');
});
(function(d, s, id){
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) {return;}
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js";
  fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));

js.src = "//connect.facebook.net/en_US/all.js"これは、js.src = "//connect.facebook.net/en_US/all.js#xfbml=1"必要な正しい XFBML タグを取得するものである必要があります。div をチェックすると、Iframe#fb-rootに追加されます。

これが他のすべての人に役立つことを願っています。

于 2013-05-01T22:58:32.910 に答える