
由于百度分享代碼只會執行一次,對于之后 AJAX 動態加載內容(例如瀑布流)中的分享按鈕,獲取不到,也無法為按鈕注冊事件。
因此需要重新初始化百度分享組件。官方文檔中并未對此加以說明,查看 share.js 源代碼,找到初始化函數。
_bd_share_main.init
放到 Chrome 控制臺執行一下
window._bd_share_main.init();
返回 undefined ,看來就是它沒錯了。
將 window._bd_share_main.init(); 這句代碼加入到內容生成函數之后,每次內容加載完成后,重新初始化百度分享組件。
function baidu_share(title, cover, url) {alert("11");
window._bd_share_config = {
common : {
bdText : title,
bdDesc : '',
bdUrl : url,
bdPic : cover
},
share : [{
"tag" : "share_1",
"bdSize" : 24,
}],
image : [{
viewType : 'list',
viewPos : 'top',
viewColor : 'black',
viewSize : '16',
viewList : [ 'qzone', 'tsina', 'weixin', 'sqq', 'tieba' ]
}]
}
with(document)0[(getElementsByTagName('head')[0] || body).appendChild(createElement('script')).src = 'http://bdimg.share.baidu.com/static/api/js/share.js?cdnversion=' + ~(-new Date() / 36e5)];
window._bd_share_main.init();
}放在最后就好了,第一次調用完了,初始化一次就可以了。






