一个非常简单的方法,百度分享代码组件里面有个微信分享到朋友圈。如下图
1百度搜索“百度分享代码”。
2选择你需要的代码模式。一般选择简单的模式就可以了,太复杂的用户体验不好。
3可以直接复制代码,或者进行下一步继续选择自己喜欢的模式。
4放到文章公共模板中。注意,不要只放在首页,否则统计数据的时候只能显示首页的数据。
5点击图标就可以弹出二维码。
我在本站使用百度分享的时候也遇到了这样的问题,搜了一下,网上有人这样问过:在同一个页面用两个不同风格的百度分享代码,就会冲突,其中一个出不来,怎么解决?一般来说,出现这样的问题是因为上面说的使用了两种不同风格的分享组件,比如下面的图标式和浮窗式:
其实,同时使用两种风格的百度分享组件并不会冲突,只是你的代码有问题。
观察
先让我们看一下百度分享的代码:
图标式
<div class="bdsharebuttonbox"><a href="#" class="bds_more" data-cmd="more"></a><a href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间"></a><a href="#" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博"></a><a href="#" class="bds_tqq" data-cmd="tqq" title="分享到腾讯微博"></a><a href="#" class="bds_renren" data-cmd="renren" title="分享到人人网"></a><a href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信"></a></div>
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"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)]</script>
观察上面的代码,代码分成 HTML 和 JS 两部分。HTML 部分放在页面中需要呈现分享按钮的地方,JS 部分只要页面能加载就行了,而且只需要一份就够了,优化的话放在页脚。另外,如果页面中想呈现多处分享按钮,只需布置多处 HTML 代码。
如何做代码优化:其中的HTML代码部分放到页面中您期望分享按钮出现的地方,而javascript代码放到页面最底部(</body>前)。—— 百度分享帮助文档
浮窗式
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"slide":{"type":"slide","bdImg":"0","bdPos":"right","bdTop":"100"}}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)]</script>
浮窗式的分享按钮无需添加HTML代码,只需要插入javascript代码就可以了。如果您的网站使用的模板,您也可以复制代码到您的模板,按钮将在所有网页自动出现。—— 百度分享帮助文档
文字式
和图标式差不多,这里就不列举了。
解决方法
一般我们要同时使用两种风格的组件时,就直接傻乎乎地把两段代码都复制到页面中。的确,我们习惯这样做了,我也这么干的。但是,还是先才代码入手吧,百度给的代码是压缩了的(Compressed),所以先 Format 一下呗,HTML 我们不用管,它们是你添加的按钮的 List:
<div class="bdsharebuttonbox">
<a href="#" class="bds_more" data-cmd="more"></a>
<a href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间"></a>
<a href="#" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博"></a>
<a href="#" class="bds_tqq" data-cmd="tqq" title="分享到腾讯微博"></a>
<a href="#" class="bds_renren" data-cmd="renren" title="分享到人人网"></a>
<a href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信"></a>
</div>
主要比较一下图标式和浮窗式两者的 JS 代码:
图标式浮窗式
window._bd_share_config = {
"common": {
"bdSnsKey": {},
"bdText": "",
"bdMini": "2",
"bdMiniList": false,
"bdPic": "",
"bdStyle": "0",
"bdSize": "16"
},
"share": {}
}
with(document) ... 省略 n 字符
window._bd_share_config = {
"common": {
"bdSnsKey": {},
"bdText": "",
"bdMini": "2",
"bdMiniList": false,
"bdPic": "",
"bdStyle": "0",
"bdSize": "16"
},
"slide": {
"type": "slide",
"bdImg": "0",
"bdPos": "right",
"bdTop": "100"
}
}
with(document) ... 省略 n 字符
上面两段代码,不同部分就 window._bd_share_config 的内容(省略的内容是相同的),光看变量的命名就能明白
_bd_share_config 百度分享配置参数
common 通用配置,是各种风格的通用配置
slide 说明是浮窗式的啊,它会滑动(slide)
所以如果要同时使用这两种风格的代码,试着在一段 Javascript 代码中添加配置信息。
window._bd_share_config = {
"common": {
"bdSnsKey": {},
"bdText": "",
"bdMini": "2",
"bdMiniList": false,
"bdPic": "",
"bdStyle": "0",
"bdSize": "16"
},
"share": {},
"slide": { // 跟图标式的代码相比,这里是添加了浮窗式 slide 属性配置
"type": "slide",
"bdImg": "0",
"bdPos": "right",
"bdTop": "100"
}
}
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)]
这样的话,只要配合 HTML 我们就能同时得到图标式分享按钮和浮窗式的分享按钮了!