我有一个使用 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)"
更新:
所有三个网络协议(protocol)分析器(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 版本:
#
''
有什么想法吗?
这里的引用是完整的 JS 文件:http://closure-compiler.appspot.com/code/jscbfa82c39e2e310e33f1786fb9a83f9ee/default.js
最佳答案
我只是使用了一个空的 JS 文件作为 JS 的 src。虽然这是一个额外的 https 请求,但它现在可以工作。
关于http - 查找在触发 IE6 "non-secure items notice"的安全页面上发送的非安全 http 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2383311/