IE8以及更低版本IE浏览器在浏览SSL加密https网页时,会弹出一个警告窗口,警告用户该网页存在不安全内容,是否只查看安全内容,如果选是,往往会看到一个凌乱不堪的网页,很多图片都无法显示。从开发者角度讲,应该尽量避免这种情况发生。

理论上讲只要使用ssl加密的网页存在混合内容(mixed content),就会触发安全警报,混合内容就是指http和https共存的页面内容,实际测试时发现,并不是所有的http链接都会触发安全警告,只有以下几种情况会。

1.使用http协议的站外链接

2. 使用http协议的站内或站外图片

第一条如果引用的网站不支持https协议,那只能移除。第二条比较容易解决,直接把图片放到自己服务器上即可。大多数大型网站都提供https协议的访问方式,比如facebook,youtube等。将这些链接更新为https协议也可以解决问题。

有些情况看似会触发安全警告,实则不会,例如

使用http协议的站内链接

相对地址引用的图片,例如/images/abc.jpg

如果使用https访问网页,网页加密不完全,IE会弹出提示框要求用户选择是否只查看安全内容,而firefox的则不会有明显提示,但我们还是可以发现区别。在Firefox中经过ssl加密且加密完全的网页,会有蓝色提示条,如下图所示。

 

如果加密不完全,就没有这个蓝色提示条,但我们可以通过查看Tools->Page Info来了解网页加密状况,一般会提示部分加密,说明网页中存在混合内容。

详细内容可以参考这篇文章:http://dafahao.com/remove-ie-ssl-https-warnning.html

此外,IE还对其它一些网页元素弹警告框,例如未设置src地址的iframe,调用removeChild()方法去移除一个HTML元素,在用户体验方面,IE8及其以下版本做的还不够好,在IE9中有一些改进,不会再弹出赤露露的警告框让用户非要选择才能继续,而是在底部弹出提示条,用户即使不做任何处理也可以继续操作。