由于百度分享代码只会执行一次,对于之后 ajax 动态加载内容中的分享按钮,获取不到,也无法为按钮注册事件。
因此需要重新初始化百度分享组件。官方文档中并未对此加以说明
onBeforeClick 事件并好用, 毕竟这个分享是很久很久以前的东西 了, 现有的网上WEB端第三方分享基本上都嗝屁了,也就百度能凑合 用了,要么就用官方的SDK
其实在尾部添加 这段代码重载即可
window._bd_share_main.init();
方法如下
<script type="text/javascript">
function setBaiduShare(_bdText,_bdUrl,_bdDesc,_bdPic){
window._bd_share_config = {
common : {
bdText :_bdText,
bdUrl :_bdUrl,
bdDesc : _bdText,
bdPic : _bdPic
},
share : [{
"tag" : "share_1", //标签ID
"bdSize" : 24,
//"bdCustomStyle": //分享样式文件地址
}]
}
//以下为js加载部分
with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='/static/api/js/share.js?cdnversion='+~(-new Date()/36e5)];
//重载 必须
window._bd_share_main.init();
}
</script>