添加QQ在线聊天后导致https安全图标消失的解决方法

最近一个小站,添加了QQ在线聊天功能,代码是复制QQ官方提供的代码。添加后功能是正常的,就是HTTPS的安全图标消失,出现的原因是加载了非https的图片元素。

https

QQ代码如下

<a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=24813799&site=qq&menu=yes"><img border="0" src="http://wpa.qq.com/pa?p=2:114026000:51" alt="点击这里给我发消息" title="点击这里给我发消息"/></a>

通过代码看加载一个图片元素 http://wpa.qq.com/pa?p=2:24813799:51 , 修改为 https://wpa.qq.com/pa?p=2:114026000:51 依然没有解决。但是功能依然正常。

问题的原因是

 curl -i https://wpa.qq.com/pa?p=2:24813799:51
HTTP/1.1 301 Moved Permanently
Date: Fri, 03 Feb 2017 03:34:18 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Server: tws
Location: http://pub.idqqimg.com/qconn/wpa/button/button_111.gif
Pragma: no-cache
Cache-Control: no-cache; must-revalidate

倒数第三行可以看到, 进行了重定向。 实际加载的元素是 http://pub.idqqimg.com/qconn/wpa/button/button_111.gif, 这个元素不是通过https进行加载的,所有安全的https小图标消失了。

解决办法办法

直接使用 https://pub.idqqimg.com/qconn/wpa/button/button_111.gif
完整的代码

<a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=24813799&site=qq&menu=yes"><img border="0" src="https://pub.idqqimg.com/qconn/wpa/button/button_111.gif" alt="点击这里给我发消息" title="点击这里给我发消息"/></a>

发表评论

邮箱地址不会被公开。 必填项已用*标注