偶然发现,文章分享到sina weibo竟然不能将附带的图片。后来查了一下,发现,不只我遇到了这个问题。
经过查看百度分享官方的帮助文档,发现帮助文档是依照旧版的分享代码指导自定义使用的。而首页获取到的代码是最新版的分享代码,
最新版分享代码虽然支持微信。但是在分享到新浪微博的时候有个问题,就是文章内容中的图片不能随之分享到微博中。不清楚这算不算插件的bug。发现好多大网站也用了百度分享,也存在这个问题。
网上查了一下解决方法,无果,发现不只是我一个人遇到这种问题。于是自己折腾找了个折衷的解决方法。以下解决方法:
起初使用的是首页一步步获取的代码:
<div class="bdsharebuttonbox fl"><a href="#" class="bds_more" data-cmd="more"></a><a title="分 享到微信" href="#" class="bds_weixin" data-cmd="weixin"></a><a title="分享到QQ空间" href="#" class="bds_qzone" data-cmd="qzone"></a><a title="分享到QQ好友" href="#" class="bds_sqq" data- cmd="sqq"></a><a title="分享到新浪微博" href="#" class="bds_tsina" data-cmd="tsina"></a><a title="分享 到腾讯微博" href="#" class="bds_tqq" data-cmd="tqq"></a></div> <script>window._bd_share_config={"common":{"bdSnsKey": {"tsina":"www8783com","tqq":"www8783com","t163":"www8783com","tsohu":"www8783com"},"bdText":"{$descript ion}","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share": {},"selectShare":{"bdContainerClass":null,"bdSelectMiniList": ["weixin","qzone","sqq","tsina","tqq"]}};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>
由于新版本的百度分享不支持动态的给新浪微博分享时带图片。所以换回了自定义帮助文档中旧版百度分享插件代码。使用方式:
<div class="nr-share nr-share-top"> <span class="nr-info fl">分享到:</span> <!-- Baidu Button BEGIN --> <div id="bdshare" class="bdshare_t bds_tools get-codes-bdshare bdsharebuttonbox fl"> <a href="#" class="bds_more" data-cmd="more"></a><a title="分享到豆瓣" href="#" class="bds_douban" data-cmd="douban"></a><a title="分享到QQ空间" href="#" class="bds_qzone" data- cmd="qzone"></a><a title="分享到QQ好友" href="#" class="bds_sqq" data-cmd="sqq"></a><a title="分享到新 浪微博" href="#" class="bds_tsina" data-cmd="tsina"></a><a title="分享到腾讯微博" href="#" class="bds_tqq" data-cmd="tqq"></a> </div> </div> <article class="nr-article" id="nr-article"> {$content} </article> <script type="text/javascript" id="bdshare_js" data="type=tools&mini=1" ></script> <script type="text/javascript" id="bdshell_js"></script> <script type="text/javascript"> //在这里定义bds_config var picurl = document.getElementById('nr-article').getElementsByTagName('img')[0] ? document.getElementById('nr-article').getElementsByTagName('img')[0].src : '', titText = "{$title}", desText = "{$description}", shareText = titText + '_手游网' + ( desText ? ' - ' + desText : '') , bds_config = {'bdPic': picurl, 'bdText': shareText}; document.getElementById('bdshell_js').src = "http://share.baidu.com/static/js/shell_v2.js? cdnversion=" + Math.ceil(new Date()/3600000); </script> <!-- Baidu Button END -->
遗憾的是旧版不支持微信分享。不过也只能这样取舍了。
参考文档:http://share.baidu.com/help/customization/config
百度分享新浪微博无法分享图片的解决方法
时间: 2024-11-05 19:03:15