说实话,现在分享已经没有必要再加载百度分享上去了。大部分网站只需要加两个分享,一个是微博分享,一个是微信分享,其他的已经很少人看了。那么多真的没必要,本文是说说百度分享如何实现动态调用。主要用到onBeforeClick这个事件。
由于QQ空间的分享内容和新浪微博分享的字段有所差异,QQ空间分享是用标题+摘要,而其他的分享则是用标题而已。这就造成了两种不同形式,于是我通过将摘要和标题分出来,当滑过QQ空间图标时则使用标题,如果滑出则将标题字段改为“标题+摘要”。
代码如下:
//百度分享
var jrDes='百度分享很长的摘要';
var jrText='百度分享标题';
var jrTitle='【'+jrText+'】'+jrDes;
$('[data-cmd="qzone"]').mouseover(function(){
jrTitle=jrText;
});
$('[data-cmd="qzone"]').mouseleave(function(){
jrTitle='【'+jrText+'】'+jrDes;
});
function SetShareUrl(cmd, config) {
config.bdText = jrTitle;
return config;
}
window._bd_share_config={"common":{onBeforeClick: SetShareUrl,"bdSnsKey":{},"bdDesc":jrDes,"bdComment":jrDes,"bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"24"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];
通过这个还可以实现多个分享用一个JS使用来动态返回。