网站开启SSL(https://)之后,百度分享插件失效怎么办?

HTTPS(Hypertext Transfer Protocol Secure)安全超文本传输协议
它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS实际上应用了Netscape的安全套接字层(SSL)作为HTTP应用层的子层。(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信。)SSL使用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是谁。
https是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,https的安全基础是SSL,因此加密的详细内容请看SSL。

引用至百度百科 SSL

在搭建“淘盒子”的时候,无意中发现了文章页内的“百度分享”插件突然无法正常显示,通过各JS代码的排查,并无问题。那问题出现在那呢? 而检查“淘盒子”备份站点时,却没有出现这样的问题。这两个站点除了域名不同外,为一的一点就是“淘盒子”主站的域名开启了SSL。

网站开启SSL(https://)之后,百度分享插件失效怎么办?
百度分享插件不能正常显示

问题是不是出现在SSL上面,百度一查,果然有很多的类拟问题。主要原因是百度的JS并不支持https形式的回调,导致分享插件失效。

解决方法:

将百度分享插件下载回地址,上传到服务器上,修改插件调用代码,不再调用百度服务器,而使是调用自已的服务器文件

第一步:下载百度分享必备文件

链接: https://pan.baidu.com/s/1vr0qJIXbMHyvm8VFWT8WAw 提取码: a712

将解压后得到的static文件夹上传到网站根目录(注:域名/static)

第二步:修改百度分享代码

<script>
window._bd_share_config = {
    common: {
        "bdText": "",
        "bdMini": "2",
        "bdMiniList": false,
        "bdPic": "",
        "bdStyle": "0"
    },
    share: [{
        bdCustomStyle: "https://www.*.com/wp-content/themes/xiu/css/share.css"
    }]
}
with(document) 0[(getElementsByTagName("head")[0] || body).appendChild(createElement("script")).src = "http://bdimg.share.baidu.com/static/api/js/share.js?cdnversion=" + ~(-new Date() / 36e5)];
</script>

//appendChild(createElement("script")).src = "http://bdimg.share.baidu.com/static/api/js/share.js?cdnversion=中的域名修改为自已的域名
网站开启SSL(https://)之后,百度分享插件失效怎么办?
代码本地化后,百度分享插件显示正常

完成后,刷新网页或重新生成静态网页,查看修改后果!

文章转载请注明出处,并需展示来源网址!:淘盒子 » 网站开启SSL(https://)之后,百度分享插件失效怎么办?

赞 (1) 打赏

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏