关于百度分享不支持https的解决方案

关于百度分享不支持https的解决方案

Posted by fengdi on March 31, 2019

站点自从开启https之后 ,百度分享就不能用了!但是又寻找不到类似百度分享的替代品。

1、下载网友在百度官方js基础上修改完成的分享代码

github地址https://github.com/hrwhisper/baiduShare,下载方式不多介绍

2、将分享代码上传至自己的服务器中

解压上边下载的分享代码,上传至服务器根目录中,确保服务器根目录能被访问到

  • wordpress确实就是丢到根目录即可
  • 其它的比如hexo其实时放在public目录下,如果不行可以在配置文件中添加如下内容,禁止hexo编译static文件夹 skip_render: – static/**

3、修改项目中调用js地址

对应的百度分享代码中,把“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>
或
.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>

附: 可以自己去获取百度分享源码,自己修改

  • 下载,你可以直接用chrome – F12 – source 查看有什么文件,然后保存(注意微信的需要先点一下,对应的css才会出来)
  • 修改,直接这么丢上去是会有问题的,你地址栏绿色的小锁会消失,就是说你虽然是https的站点,但请求了http的资源,这种混合模式是不好的,修复方法:

    static\api\js\share.js domain: {staticUrl: “http://bdimg.share.baidu.com/”} 修改为 domain: {staticUrl: “/”} nsClick: “http://nsclick.baidu.com/v.gif” 修改为 nsClick: “/”, static\api\js\trans\logger.js 把里面的内容都删掉,但保留这个空文件