百度分享自定义分享url和内容的示例
网站分享功能,是非常实用的,米扑官网、米扑博客、米扑代理等网站都会有分享链接
米扑科技选择的是百度分享,之前在米扑博客里有过介绍:
准备工作
本文将介绍自定义百度分享url和内容,方便于做米扑代理的推广返现
百度分享官网:http://share.baidu.com
百度分享文档:http://share.baidu.com/code/advance
百度分享示例:https://blog.mimvp.com/about
提示:百度分享默认是 http,但示例是 https,解决方案见 WordPress https支持百度分享
代码实例
1、百度分享的默认示例
1)https 添加百度分享代码
<!-- baidu share --> <div class="bdsharebuttonbox bdshare-button-style0-24" style="padding-bottom:10px;padding-left:10px;" data-bd-bind="1526881528994"> <p style="font-size:16px; height:18px; line-height:18px;">分享到:</p> <a href="#" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博"></a> <a href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信"></a> <a href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间"></a> <a href="#" class="bds_tqq" data-cmd="tqq" title="分享到腾讯微博"></a> <a href="#" class="bds_tieba" data-cmd="tieba" title="分享到百度贴吧"></a> <a href="#" class="bds_ty" data-cmd="ty" title="分享到天涯社区"></a> <a href="#" class="bds_douban" data-cmd="douban" title="分享到豆瓣网"></a> <a href="#" class="bds_fbook" data-cmd="fbook" title="分享到Facebook"></a> <a href="#" class="bds_twi" data-cmd="twi" title="分享到Twitter"></a> <a href= <script> window._bd_share_config = { "common": { "bdSnsKey": {}, "bdText": "", "bdMini": "2", "bdMiniList": [ "mshare", "tsina", "weixin", "qzone", "renren", "twi", "fbook", "tqq", "bdxc", "kaixin001", "tqf", "bdysc", "tieba", "douban", "tsohu", "bdhome", "sqq", "thx", "qq", "ibaidu", "taobao", "hi", "baidu", "sohu", "t163", "qy", "meilishuo", "mogujie", "diandian", "huaban", "leho", "share189", "duitang", "hx", "tfh", "fx", "youdao", "sdo", "qingbiji", "ifeng", "people", "xinhua", "ff", "mail", "kanshou", "isohu", "yaolan", "wealink", "xg", "ty", "iguba", "deli", "s51", "s139", "linkedin", "copy", "print" ], "bdMiniList": false, "bdPic": "", "bdStyle": "0", "bdSize": "24" }, "share": {} }; with(document) 0[(getElementsByTagName('head')[0] || body).appendChild(createElement('script')).src = '/static/api/js/share.js?v=89860593.js?cdnversion=' + ~ (-new Date() / 36e5)]; </script> <!-- end of baidu share -->
实际代码截图:
2)https 示例演示
米扑博客 - 关于:https://blog.mimvp.com/about
注意:上面示例是 https 网站,js使用的绝对地址 src='/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];
详细的 https 添加百度分享,请见米扑博客:WordPress https支持百度分享
2、百度分享自定义示例
百度分享自定义分享url和内容,跟上面您默认示例类似,不同点是需要在 window._bd_share_config 配置中,指定自定义的url和内容等描述信息
1)百度分享的完整结构
分享代码可以分为三个部分:HTML、配置信息、js加载,示例如下:
<div class="bdsharebuttonbox" data-tag="share_1"> <!-- 此处添加展示按钮 --> </div> <script> window._bd_share_config = { //此处添加分享具体设置 } //以下为js加载部分 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)]; </script>
详见百度分享文档:http://share.baidu.com/code/advance
2)配置自定义内容
配置 window._bd_share_config 中的 common 信息
common 通用设置将作用于所有分享类型,可将通用设置放于此处,如分享内容、分享url等。
window._bd_share_config = { "common": { "bdSnsKey": {}, "bdMini": "2", "bdMiniList": false, "bdText": '自定义分享内容', "bdDesc": '自定义分享摘要', "bdUrl": '自定义分享url', "bdPic": '自定义分享图片url', "bdStyle": "1", "bdSize": "16" }, "share": { "bdSize": 16, "bdCustomStyle":"/css/mimvp-demo.css" } }
common 通用设置参数项解析:
配置项名称 | 值类型 | 格式和取值 | 描述 |
---|---|---|---|
bdText | string | 自定义 | 分享的内容 |
bdDesc | string | 自定义 | 分享的摘要 |
bdUrl | string | 自定义 | 分享的Url地址 |
bdPic | string | 自定义 | 分享的图片Url地址 |
bdSign | string | on|off|normal |
是否进行回流统计。 'on': 默认值,使用正常方式挂载回流签名(#[数字签名]) 'off': 关闭数字签名,不统计回流量 'normal': 使用&符号连接数字签名,不破坏原始url中的#锚点 |
bdMini | int | 1|2|3 | 下拉浮层中分享按钮的列数 |
bdMiniList | array | ['qzone','tsina',...] | 自定义下拉浮层中的分享按钮类型和排列顺序。详见分享媒体id对应表 |
onBeforeClick | function | function(cmd,config){} |
在用户点击分享按钮时执行代码,更改配置。 cmd为分享目标id,config为当前设置,返回值为更新后的设置。 |
onAfterClick | function | function(cmd){} | 在用户点击分享按钮后执行代码,cmd为分享目标id。可用于统计等。 |
bdPopupOffsetLeft | int | 正|负数 | 下拉浮层的y偏移量 |
bdPopupOffsetTop | int | 正|负数 | 下拉浮层的x偏移量 |
3)简单自定义示例
<div class="bdsharebuttonbox"> <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> <a href="#" class="bds_more" data-cmd="more">分享链接</a> </div> <script> window._bd_share_config= { "common":{ "bdSnsKey": {}, "bdMini": "2", "bdMiniList": false, "bdText": '米扑代理', "bdDesc": '米扑代理,99.9%高可用率,永久免费试用', "bdUrl": 'https://proxy.mimvp.com?partnerid=52c885Cd521371C3', "bdPic": 'https://proxy.mimvp.com/img/partner_mimvp.png', "bdStyle": "0", "bdSize": "16" }, "share":{}, "image":{ "viewList":["qzone","tsina","tqq","renren","weixin"], "viewText":"分享到:", "viewSize":"16" }, "selectShare":{ "bdContainerClass":null, "bdSelectMiniList":["qzone","tsina","tqq","renren","weixin"] } }; 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>
简单示例的分享界面效果图:
点击分享到QQ空间,分享链接效果图:
4)高级自定义示例改进型
步骤3)简单示例里,初步实现了自定义分享,但也有几个问题需要解决:
a)不需要QQ空间、微博、更多加号“+”等图标,只需要一个文字按钮“分享链接”即可
b)文字按钮“分享链接”的格式需要定义css,需自定义 "bdCustomStyle"
c)分享链接里不需要回流统计,即去掉分享链接里井号"#"后面的字符串,需设置 bdSign = off
d)其它细节处理,如 按钮样式符合上下文、适应https网址(默认只支持http)、处理悬浮和点击都出现分享框等
下面依次解决上面的四个问题
解决 a)
修改 <div class="bdsharebuttonbox"> 为<span class="bdsharebuttonbox">,并只保留 <a href="#" class="bds_more" data-cmd="more">分享链接</a> 样式修改如下
<span class="bdsharebuttonbox"> <a class="contact-btn" data-cmd="more" target="_blank" href="/partner.php">分享链接</a> </span>
即把 div 修改成了 span 解决了换行问题,去掉了 bds_more 禁止了鼠标悬浮弹出分享框(手机上点击会弹出两个框,体验非常糟糕,所以禁用鼠标悬浮,只保留点击事件)
解决 b)
自定义css样式,修改 "bdCustomStyle",如下
window._bd_share_config= { "common":{ "bdSnsKey": {}, "bdMini": "2", "bdMiniList": false, "bdText": '米扑代理', "bdDesc": '米扑代理,99.9%高可用率,永久免费试用', "bdUrl": 'https://proxy.mimvp.com?partnerid=3648d15B85dEa26b', "bdPic": 'https://proxy.mimvp.com/img/partner_mimvp.png', "bdSign": 'off', "bdStyle": "0", "bdCustomStyle":"", "bdSize": "" }, "share": { "bdSize": 16, "bdCustomStyle":"/css/mimvp-2018051211.css" } };
解决了禁止使用百度分享默认css样式,让自己的界面按钮样式更统一
解决 c)
不需要回流统计,设置 "bdSign": 'off' 如上 解决b)代码
解决 d)
细节处理,综合以上解决 a)b)c),以及简单示例里的 https 解决方案
最后,查看实际成果
上图里,“分享链接” 实际调用了百度分享功能中的更多分享,但链接样式看不出是百度分享了,达到了自定义分享按钮的目的
点击按钮“分享链接”,才会弹出分享对话框(注:已禁掉了鼠标悬浮弹出框,见解决问题 a)
接着,点击分享“QQ空间”,查看分享链接,是否去掉了回流统计井号“#”后面的一串字符
本示例完整代码很简单,详见米扑代理的推广返利:
https://proxy.mimvp.com/partner.php
参考推荐:
版权所有: 本文系米扑博客原创、转载、摘录,或修订后发表,最后更新于 2018-08-11 05:34:10
侵权处理: 本个人博客,不盈利,若侵犯了您的作品权,请联系博主删除,莫恶意,索钱财,感谢!