我尝试通过jQuery向我的主页添加一些带有某些属性的fb:like-box
标记,但它会生成一个没有任何属性的标记。
下载我在加载facebook Javascript SDK后添加的代码:
$('<fb:like-box>', {
'href' : 'http://www.facebook.com/platform',
'width' : '292',
'height' : '230',
'show_faces' : 'true',
'stream' : 'false',
'border_color' : '#FFF',
'header' : 'false'
}).appendTo('#aDiv');
,结果是:
<div id="aDiv"><fb:like-box></fb:like-box></div>
似乎jQuery不喜欢facebook标签,所以有人知道一些解决方法吗?
答案 0 :(得分:1)
好吧,我假设您已经在页面上初始化了JavaScript SDK,因为需要解析任何XFBML标记。
对FB.init()
的初始调用初始化页面上的所有现有XFBML标记:
FB.init({
appId : 'YOUR_APP_ID', // App ID from the App Dashboard
status : true, // check the login status upon init?
cookie : true, // set sessions cookies to allow your server to access the session?
xfbml : true // parse XFBML tags on this page?
});
对于初始化后添加的任何其他元素(如您的情况),您需要执行FB.XFBML.parse()
function。这将渲染或重新渲染XFBML标记并显示您喜欢的框。
至于属性,你有两个选择
prop()
/ attr()
jQuery函数来设置这些非标准属性。var likeBox = $('<fb:like-box />');
likeBox.prop('show_faces','true');
likeBox.attr('href','http://www.facebook.com/platform');
$("#foo").append(likeBox);
答案 1 :(得分:0)
试试这个:
var html = $('#aDiv').html(); $('#aDiv').html(html + '<fb:like-box href='http...' width="292" ect...>');
答案 2 :(得分:0)
为什么你不追加整件事
$("#aDiv").append('< fb:like-box
href="http://www.facebook.com/platform"
width="292"
height="230"
show_faces="true"
stream="false"
border_color="#FFF"
header="false"
/>');