百度分享不支持https的解決方案


站點自從開啟 https 之后 ,百度分享就不能用了!但是又尋找不到類似百度分享的替代品。。

怎么辦呢?要如何解決 百度分享不支持https的問題呢,

跟着博主動動手,讓你百度分享仍然能在https下使用 ~

伸手黨

先上伸手黨的解決方案~

博主修改好的分享代碼(下面兩個鏈接下載其中一個)的即可

  • Github地址(推薦,2016.10.2更新):https://github.com/hrwhisper/baiduShare
    • PS: 求點star!鼓勵一下博主!
  • 舊版本,不再更新。 備用地址: http://pan.baidu.com/s/1i4c1hnn 密碼:0kjw 

下載方式如下:

github download method

static 解壓后丟到站點根目錄下即可。

然后對應的百度分享代碼中,把http://bdimg.share.baidu.com/改為 /

.src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
改為
.src='/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>

本博客若無特殊說明則由 hrwhisper 原創發布
轉載請點名出處:細語呢喃 > 百度分享不支持https的解決方案
本文地址:https://www.hrwhisper.me/baidu-share-not-support-https-solution/

 

以下是百度分享 HTTPS 版的解決方案:

1、首先前往 GitHub 下載百度分享的全部資源文件:https://github.com/hrwhisper/baiduShare

2、將資源文件上傳至本地服務器如藍點網的:https://www.landiannews.com/static/api/

3、前往百度分享主頁定制化你自己需要的分享內容以及排序等,然后獲得的代碼類型如下:

<divclass="bdsharebuttonbox"><ahref="#"class="bds_more"data-cmd="more"></a><ahref="#"class="bds_qzone"data-cmd="qzone"title="分享到 QQ 空間"></a><ahref="#"class="bds_tsina"data-cmd="tsina"title="分享到新浪微博"></a><ahref="#"class="bds_tqq"data-cmd="tqq"title="分享到騰訊微博"></a><ahref="#"class="bds_renren"data-cmd="renren"title="分享到人人網"></a><ahref="#"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='+~(-newDate()/36e5)];</script>

4、將其中的百度分享核心 JavaScript 修改本地服務器中的地址,如藍點網的:

https://www.landiannews.com/static/api/js/share.js

5、到這里絕大部分未針對百度分享代碼進行修改的網站應該都是可以正常使用了。

6、Share.js 中所包含的其他 JavaScript、CSS 以及圖片等使用的是絕對路徑,如果你進行定制化的修改則需要同步進行修改。

7、以下是藍點網的百度分享完整代碼,除了修改 Share.js 外也引入了自定義的 CSS 樣式文件:

<divclass="bdsharebuttonbox"><span> 分享到:</span><ahref="#"class="bds_tsina"data-cmd="tsina"title="分享到新浪微博"></a><ahref="#"class="bds_weixin"data-cmd="weixin"title="分享到微信"></a><ahref="#"class="bds_qzone"data-cmd="qzone"title="分享到 QQ 空間"></a><ahref="#"class="bds_sqq"data-cmd="sqq"title="分享到 QQ 好友"></a><ahref="#"class="bds_douban"data-cmd="douban"title="分享到豆瓣網"></a><ahref="#"class="bds_twi"data-cmd="twi"title="分享到 Twitter"></a><ahref="#"class="bds_fbook"data-cmd="fbook"title="分享到 Facebook"></a><ahref="#"class="bds_youdao"data-cmd="youdao"title="分享到有道雲筆記"></a><ahref="#"class="bds_renren"data-cmd="renren"title="分享到人人網"></a><ahref="#"class="bds_kaixin001"data-cmd="kaixin001"title="分享到開心網"></a><ahref="#"class="bds_mail"data-cmd="mail"title="分享到郵件分享"></a><ahref="#"class="bds_more"data-cmd="more"></a><span>(</span><aclass="bds_count"data-cmd="count"title="累計分享 0 次">0</a><span>)</span></div><script> window._bd_share_config ={ common:{"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"24"}, share:[{ bdCustomStyle:"//www.landiannews.com/static/api/css/share.css"===>自定義樣式表}]}with(document)0[(getElementsByTagName("head")[0]||body).appendChild(createElement("script")).src="//www.landiannews.com/static/api/js/share.js?cdnversion="+~(-newDate()/36e5)];===>將本地的Share.js 引入</script>

 

自己動手,豐衣足食

所謂授人以魚不如授人以漁,博主把主要的修復過程記錄如下:

 

獲取百度分享的文件

你可以直接用chrome – F12 – source 查看有什么文件,然后保存(注意微信的需要先點一下,對應的 css 才會出來)

baidu-share-download

也可以直接看博主分享的文件,對應着下載。

把域名改成http://bdimg.share.baidu.com/加上對應的路徑即可

 

修改一些文件

直接這么丟上去是會有問題的,你地址欄綠色的小鎖會消失 T^T

就是說你雖然是Https的站點,但請求了http的資源,這種混合模式是不好滴

修復方法:

  1. static\api\js\share.js
    • domain: {staticUrl: “http://bdimg.share.baidu.com/”} 修改為 domain: {staticUrl: “/”}
    • nsClick: “http://nsclick.baidu.com/v.gif”  修改為  nsClick: “/”,
  2. static\api\js\trans\logger.js
    • 把里面的內容都刪掉,但保留這個空文件

貌似就是這兩個步驟,博主應該沒漏掉

 

修改印象筆記圖標

博主用的是主題1(明顯比主題0好看啊,主題0還沒印象筆記圖標),

但是由於下面那個更多用的是主題0的圖片,會造成加載兩個圖片,讓我微微不爽(同樣的沒有印象筆記圖標!)

於是修改如下:

  1. static\api\css\share_popup.css
    • 最后加上 .popup_evernotecn{background-position:4px -3190px;}
  2. static\api\css\share_style0_16.css
    • 最后加上 .bds_evernotecn{background-position:0 -3195px}
  3. 把 icons_1_16.png 重命名為 icons_0_16.png
    • 可選:用tinypng 把圖片壓縮下,博主現在這個圖片就7.81KB

微信URL過長失敗二維碼出不來的問題

原因:網址過長時調用dwz API,而該網站不支持HTTPS

修復方式有兩種

  1. 允許長的網址
  2. 自己尋找可以縮短網址的API,進行替換

本文采用的是第一種,在trans_weixin.js 修改d函數即可

 

寫在最后

OK,快去試試效果吧~

如果有不清楚的地方,歡迎留言。

你也可以對着我修改的結果查看~

有用的話注冊個github 給博主點個star 鼓勵一下博主吧 ^ ^

或者對博主進行打賞~

 

本博客若無特殊說明則由 hrwhisper 原創發布
轉載請點名出處:細語呢喃 > 百度分享不支持https的解決方案
本文地址:https://www.hrwhisper.me/baidu-share-not-support-https-solution/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM