众所周知,网站改造成HTTPS站点后,需要将站点内所有的链接换成HTTPS协议的,但如果网站使用了第三方的工具,如百度分享。它本身就不支持HTTPS,其核心JavaScript会被拦截掉,所以如果不会改造百度分享,就只能放弃分享这个功能了。
好在白天比较喜欢折腾,这么好的一个功能放弃了实在有点可惜。于是就在网上找各种方法解决,总算也没白费力气被白天找到了,今天就把解决方法分享给大家!
首先先说一下解决思路:
分享代码中是调用了一个HTTP的链接,把链接中的文件本地化,然后将HTTP链接改成本地的HTTPS链接即可。
下面附上文件下载方法:
1、首先前往GitHub下载百度分享的全部资源文件:https://github.com/hrwhisper/baiduShare
2、将static 解压后放到站点的根目录。比如白天博客的:https://www.seobti.com/static/api/
3、具体需要哪些分享按钮以及顺序请自行百度查找,目前已经没有百度分享主页做定制了。
4、将其中的百度分享核心JavaScript修改本地服务器中的地址,如白天博客的地址:
https://www.seobti.com/static/api/js/share.js
5、到这里绝大部分未针对百度分享代码进行修改的网站应该都是可以正常使用了。
注:Share.js中所包含的其他JavaScript、CSS以及图片等使用的是绝对路径,如果你进行定制化的修改则需要同步进行修改。
6、以下是百度分享的完整代码:
<div class="bdsharebuttonbox"> <span>分享到:</span> <a class="bds_qzone" data-cmd="qzone" title="分享到QQ空间"></a> <a class="bds_tsina" data-cmd="tsina" title="分享到新浪微博"></a> <a class="bds_weixin" data-cmd="weixin" title="分享到微信"></a> <a class="bds_tqq" data-cmd="tqq" title="分享到腾讯微博"></a> <a class="bds_sqq" data-cmd="sqq" title="分享到QQ好友"></a> <a class="bds_more" data-cmd="more">更多</a> <span>(</span><a class="bds_count" data-cmd="count" title="累计分享0次">0</a><span>)</span> </div> <script> window._bd_share_config = { common: { "bdText" : "", "bdMini" : "1", "bdMiniList" : false, "bdPic" : "", "bdStyle" : "0", "bdSize" : "24" }, } with(document)0[(getElementsByTagName("head")[0]||body).appendChild(createElement("script")).src="/static/api/js/share.js?v=89860593.js?cdnversion="+~(-new Date()/36e5)]; </script>
总结:百度分享是百度公司免费为站长提供的一款社会化分享的产品。用户可以将网站内容分享到第三方网站,从而为网站带来更多用户点击和社会化流量。但毕竟分享类和评论类的产品盈利方面都比较麻烦,所以百度分享在百度公司内部应该属于被边缘化的产品了,到目前为止估计也已经有两三年没有更新过了,而且现在百度可能已经放弃了,百度分享主页都做了301跳转到百度搜索资源平台了。所以如果你还想使用使用百度提供的分享功能,但又给网站做了HTTPS改造,那么此解决方法值得你参考使用。
原创文章,作者:白天,如若转载请注明出处:改造HTTPS后,解决百度分享不支持HTTPS的方法