我有一个SSL下的页面。
然而,在IE6中,我收到通知:
“此页面包含安全和非安全项目等”
我已经在Firebug和Wireshark中查看了该页面的所有HTTP请求,而且它似乎是通过普通HTTP发送的,所有资源都是通过SSL / TLS获取的。但是,IE6仍然会给出不确定的项目通知。
我在Wireshark中用来过滤Firefox的过滤器是:
http.user_agent eq“Mozilla / 5.0(Windows; U; Windows NT 6.1; en-US; rv:1.9.1.8)Gecko / 20100202 Firefox / 3.5.8”
仅适用于IE:
http.user_agent eq“Mozilla / 4.0(兼容; MSIE 6.0; Windows NT 6.1; WOW64; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0 ; InfoPath.2; MS-RTC LM 8; MALC)“
更新
所有三个网络协议分析器(Wireshark,Fiddler,Charles)都表明所有请求都是通过HTTPS进行的。 IE6,7和8都显示“非安全内容”警告。任何人都知道是否有其他东西触发IE?
更新2:
事实证明它与某些JavaScript有关:
document.write("<script type='text/javascript' id=__ie_onload defer src=javascript:void(0)><\/script>");
这特定于IE模拟window.domReady事件。 src = javascript:void(0)是触发IE以显示不安全通知的内容。
现在,我想将javascript:void(0)
替换为不会触发不安全通知的等效项。
这些也引发了不安全因素:
javascript:;
about:blank;
这误导了IE的一个版本:
#
''
有什么想法吗?
此处的Fore引用是完整的JS文件:http://closure-compiler.appspot.com/code/jscbfa82c39e2e310e33f1786fb9a83f9ee/default.js
答案 0 :(得分:1)
我刚用一个空的JS文件作为JS的src。虽然这是一个额外的https请求,但它现在有效。
答案 1 :(得分:0)
尝试Fiddler,这在过去对我有用。特别是IE6!
答案 2 :(得分:0)
我更喜欢Charles,但任何包含Fiddler的Web调试代理都应该提供帮助。使用Charles,您可以记录Web请求,然后只需过滤“http://”