2011-06-25 41 views
3

即时通讯建立一个应用程序加载一些产品的主要网页与search.also后点击每个产品项目后加载它会显示小弹出并显示像特定产品的按钮和评论饲料我写了这样的代码。如何动态加载Facebook像按钮?

function renderFBWidgets() { 
     window.fbAsyncInit = function() { 
      FB.init({ appId: '165987850132000', status: true, cookie: true, xfbml: true 
      }); 
     }; 
     (function() { 
      var e = document.createElement('script'); e.async = true; 
      e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js'; 
      document.getElementById('fb-root').appendChild(e); 
     }()); 
     var u = //get product url 
     $('.productlist').append('<div style="margin-left: 30px;"><fb:like href="' + u + '" send="true" layout="standard" width="430" show_faces="false" action="like" colorscheme="light"></fb:like></div>'); 
} 

但是当我点击产品Facebook的每次初始化所有的脚本是有加载动态像任何按钮好办法?

谢谢

回答

3

所有Like按钮都在iframe中呈现。如果您使用XFBML方法,Facebook的all.js脚本会在页面上找到<fb:like>标签并为每个标签创建一个iframe。如果在脚本运行后添加<fb:like>标记,则需要运行FB.XFBML.parse来处理该标记并生成其iframe。

另一种选择是将新的Like按钮添加为iframe。请务必取消选中Facebook's button generator中的发送按钮选项。但是,通过这种方法,您将失去“发送”按钮,并且只能获得至少400px宽的标准布局的评论。

+0

mm。我接受这个答案,但不是对我的问题最好的。 – Gayan