我正在构建一个应用程序,在主页面上加载一些产品,然后在加载后点击每个产品项目,它会显示小弹出窗口,并显示像特定产品的按钮和评论供稿,我写了这样的代码。< / p>
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初始化所有脚本时,有没有什么好方法可以动态加载按钮?
感谢
答案 0 :(得分:3)
All Like Buttons在iframe中呈现。如果您使用XFBML方法,Facebook的all.js脚本会在页面上找到<fb:like>
标记,并为每个标记创建一个iframe。如果您在脚本运行后添加<fb:like>
标记,则需要运行FB.XFBML.parse来处理该标记并生成其iframe。
另一种选择是将新的Like按钮附加为iframe。请务必取消选中Facebook's button generator中的“发送按钮”选项。但是,使用这种方法会丢失发送按钮,并且只能获得标准布局至少400px宽的注释。