1. 程式人生 > >百度分享新浪微博無法分享圖片的解決方法

百度分享新浪微博無法分享圖片的解決方法

偶然發現,文章分享到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