最近调试博客内容发现在浏览器控制台中有警告,在安全的加密网页中载入混合(不安全的)显示内容
,页面所有内容都能正常显示,但是作为一个好奇的前端程序员,当然要搞清楚这到底是啥毛病了!
1. 混合内容警告原因
HTTPS网页中加载的HTTP资源,我们称之为混合内容。不同的浏览器,对混合资源的处理方式不同:
IE浏览器:
早期的IE发现混合内容请求是,会弹出"是否只查看安全的网页内容",如果用户选择了"是",那么所有混合内容资源都不会加载,选择"否"则反之;较为新的IE将选择对话框该为了底部提示栏,图片类的混合内容默认加载,但CSS、Javascript等资源还是根据用户选择来决定是否加载。
现代浏览器(Chrome、Firefox、Safari等):
遵守W3C关于混合内容的规范,默认加载图片类等包含微笑较小的资源,同时会在控制台打印警告信息。
但是现在的谷歌浏览器已经忽略掉了http图片的警告输出,我在调试过程中只发现在火狐和ie中有这样的报错信息。
现在原因找到了接着解决吧!
2.解决方案
全站退回http(不建议)
既然是https中混入了http的内容,那么可以把网站伪静态换回http,全站不使用http,那么自然也不会有这个警告了。
注意排查报错文件
排查报错文件,找到对应书写的路径代码,换成https就可以啦!
Comments | NOTHING
Warning: Undefined variable $return_smiles in /www/wwwroot/blog.moonlet.cn/wp-content/themes/Sakura/functions.php on line 1078
Warning: Undefined variable $robot_comments in /www/wwwroot/blog.moonlet.cn/wp-content/themes/Sakura/comments.php on line 97