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

站點自從開啓 https 以後 ,百度分享就不能用了!可是又尋找不到相似百度分享的替代品。。css

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

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

伸手黨

先上伸手黨的解決方案~github

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

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

下載方式以下:chrome

github download method

static 解壓後丟到站點根目錄下便可。api

而後對應的百度分享代碼中,把http://bdimg.share.baidu.com/改成 /bash

.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 版的解決方案:微信

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

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

三、前往百度分享主頁定製化你本身須要的分享內容以及排序等,而後得到的代碼類型以下:

<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>

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

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

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

六、Share.js 中所包含的其餘 JavaScript、CSS 以及圖片等使用的是絕對路徑,若是你進行定製化的修改則須要同步進行修改。

七、如下是藍點網的百度分享完整代碼,除了修改 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/
相關文章
相關標籤/搜索