最近,邮箱准备上全程的https服务


在把所有的页面引用的src全都改到https的路径后,通过https访问仍然会有浏览器的安全警告框


查了很久无果,后来在邱老大的提示下,才发现原来是Iframe导致的


Https中如果有Iframe,如果无src或者src中有document.wirte等,浏览器可能会认为是不安全的


以下是测试结果:



  1. 无src属性,IE6会有警告,IE8,Firefox均正常

  2. src="javascript:document.open();document.close();" ,IE下正常,Firfox下有警告

  3. src="javascript:void(0);",IE6有警告,IE8,Firefox均正常

  4. src="",IE6有警告,IE8,Firefox均正常


现在Mail前端的js中,有很多iframe的src不是指向到具体的页面,而是通过document.open(),document.write()来写入代码


当初,前端开发工程师可能是为了减少连接数,就这么实现的


在Https中这么做是不行的,只好src到一个空的blank.html页面,然后在js中再进行write


如果需要监听某个iframe的load完成事件,则上述办法也不行,只能实现一个真实的html了,里面加上对应的逻辑