百度分享不支持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 解压后丢到站点的根目录

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

然后对应的百度分享代码中,把http://bdimg.share.baidu.com/改为 /

比如说博主调用的百度分享代码如下:

 

 

自己动手,丰衣足食

所谓授人以鱼不如授人以渔,博主把主要的修复过程记录如下:

 

获取百度分享的文件

你可以直接用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/

打赏一杯咖啡钱呗

建站经验, 问题解决 , , . permalink.

98 thoughts on “百度分享不支持https的解决方案

  1. 授人以渔不如授人以鱼,节约时间的话可以直接
    把http://bdimg.share.baidu.com/改为 https://wuchaolong.github.io/baiduShare/
    .src=’http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=’+~(-new Date()/36e5)];
    改为
    .src=’https://wuchaolong.github.io/baiduShare/static/api/js/share.js?v=89860593.js?’];

    还是建议 hrwhisper 提供这种链接为好

  2. 卤煮~~ 有问题吖 (┬_┬)
    按照上面的改了后,资源加载正常了,但是点击分享微博跟QQ等经常会跳到百度的error页面(https://www.baidu.com/search/error.html),有时又可以正常跳到相应的分享页面,但多数情况是不正常的,请问这个是什么原因啊,求解答~

  3. 楼主你好,这个方法好像并不使用百度分享悬浮窗的效果的,我的网站wqcheng.cc可以加载,https://wqcheng.cc还是不行的,我通过浏览器F12抓包来看,发现还是加载了百度分享的网站,不太明白那里的问题,能指导下吗?

  4. 楼主,我按照你说的方法https问题解决了,感谢先!
    但是我分享QQ的时候有时候会不跳转QQ分享页面而是百度,请问这是什么情况呢?

  5. 楼主你好,按照你的方法,加载时候报share.js文件的错误,我将其替换后错误依然在;网址是https://brightloong.github.io,望楼主解答,万分感谢。

  6. 楼主您好, 非常感谢您改善了这个插件, 我按本教程操作后百度分享HTTPS OK了(百度相册暂不可用会报错, 我直接删除了trans_bdxc.js), 但目前还有一个小问题:
    Chrome(最新56版)console提示:”Resource interpreted as Stylesheet but transferred with MIME type text/html”, 是不是哪里引用样式表的时候, rel=”text/css”写成了rel=”text/html”呢? 谢谢, 参考页面https://www.mike652638.com/front-end-basic#

  7. 地址已经更改/ 然后把最新的static文件夹 上传网站根目录,F12后看到路径是static/api/js 而不是static/api/ 另外 图片的js 文件没有加载,当然图片的悬浮窗样式仍然无效。这是哪里问题,请指导下呗。多谢!

  8. 楼主问下, 把static整个文件夹放到根目录下, 然后将http://bdimg.share.baidu.com/这个去掉了,
    图片分享, 文字分享都好用, 为什么悬浮在浏览器边上的那个浮动的块显示不出来呢?

  9. 点微信分享的时候, 如果被分享的url过长(例如含有中文的url: https://www.hrwhisper.me/baidu-share-not-support-https-solution/?test=%E5%90%AB%E6%9C%89%E4%B8%80%E6%AE%B5%E5%BE%88%E9%95%BF%E7%9A%84%E4%B8%AD%E6%96%87%E6%96%87%E5%AD%97%E6%80%8E%E4%B9%88%E5%8A%9E),
    /static/api/js/base/tangram.js会到下面这个网站调用jsonp返回一个缩短后的url:
    http://dwz.cn/v2cut.php?url={{被分享的url}}&callback=bd__cbs__yzeats
    可这个网站不支持https, 回来的时候被block了, 希望可以解决

  10. 感谢,正放进我的网站测试一下。我的是Hexo网站,正在为主题润色,请问可以把你的代码post到github上面吗~

  11. 用了你的办法试了一晚上,都没结果, 不知道是不是咱们用的插件不一样,为什么我的不行呢…求你的插件下载地址和你后台代码,大恩不言谢!

Leave a Reply

Your email address will not be published. Required fields are marked *