【问题标题】:Why FB.XFBML.parse() doesnt render my plugin?为什么 FB.XFBML.parse() 不渲染我的插件?
【发布时间】:2012-10-02 04:33:36
【问题描述】:

我的code

<a id="render-me" href="javascript:void(0);">Render me</a>
<div id="social-facebook"></div>​

$('#render-me').click(function (e){
    e.preventDefault();

    $('#social-facebook').html("<fb:like id='button-facebook' href='http://www.google.com' send='false' layout='button_count' width='450' show_faces='false'></fb:like>");
    FB.XFBML.parse(document.getElementById('button-facebook'));    
});

我单击,但未呈现按钮。我哪里错了?

【问题讨论】:

    标签: jquery facebook xfbml


    【解决方案1】:

    你必须在 DOM 中指定一个已经存在的节点。 所以,你不能使用:

    FB.XFBML.parse(document.getElementById('button-facebook'));
    

    改用:

    FB.XFBML.parse(document.getElementById('social-facebook'));
    

    它会正常工作;)

    【讨论】:

      【解决方案2】:

      尝试添加此标记

      <div id="fb-root"></div>
      

      在页面底部并确保添加了 FB 脚本。 请看图

      请按照以下步骤解决您的问题。

      欲了解更多信息,请通过此链接 https://developers.facebook.com/docs/reference/plugins/like/

      【讨论】:

      • 没什么变化,伙计!事实上,我在“加载/就绪”之后添加了插件,所以如果我把 fb-root 放在底部也没有任何改变!尝试使用该代码..nothing:在单击处理程序中它不呈现...
      • 这很有趣:如果我只写FB.XFBML.parse(); 它可以工作:O
      • "这很有趣:如果我只写 FB.XFBML.parse(); 它可以工作:O" - 这是因为您正在重新解析整个页面(每个插件)。不仅仅是您的目标部分。
      猜你喜欢
      • 2016-08-20
      • 1970-01-01
      • 2013-11-09
      • 2017-02-02
      • 1970-01-01
      • 2020-05-06
      • 2020-10-15
      • 2018-01-09
      • 1970-01-01
      相关资源
      最近更新 更多