【发布时间】:2011-10-16 17:38:46
【问题描述】:
我管理一个在 SSL 下运行的电子商务网站。
问题出现在我的网站购物车的最后一页上,该页面在 SSL 下加载。问题是 Internet Explorer 8.0(包括版本 8.0.6001.18702 和其他版本的 IE8,但据报道并非所有版本的 IE8)抱怨至少有一个不安全的元素加载,这吓跑了一些我的潜在客户。页面显然完全加载(似乎没有丢失图像)后,IE8 会显示一个对话框,上面写着:
“安全警告:您是否只想查看 安全交付?此网页包含不会传送的内容 使用安全的 HTTPS 连接,这可能会危及 整个网页。 (是/否)”
我试图追踪所有可能通过 HTTP 加载的无效图像和链接,但无济于事。 Firebug Lite 没有显示任何不安全的内容。我开始认为这可能是 IE8 中的一个错误,已在 IE9 中得到纠正,它不会抱怨。
重现此错误:Click here using IE8 (or Chrome) 将商品添加到您的购物车。在结果页面上,单击右侧显示“继续安全结帐”的绿色按钮。您会注意到您从 IE8 中看到了上述“安全警告”。
问题:如何确定浏览器尝试不安全地加载哪些内容,或者如何禁止显示“警告”消息?
更新:似乎“安全警告”是由于此页面上暂停 JavaScript 执行所致。但同样的问题仍然存在。如何抑制或“调试”“安全警告”消息?
【问题讨论】:
-
对于任何感兴趣的人,我正在与他合作。我们已经尝试过使用带有过滤器来显示 HTTP 流量的 wireshark。 Wireshar 显示单个 HTTP 事务,但我无法确定元素的路径。附带的问题是:如何配置 WireShark 以显示 HTTP 元素的路径?
-
仅供参考——Chrome 也抱怨该页面(因此不仅是 IE8),但我无法让 Chrome 准确揭示作为未加密数据访问的内容。
-
我刚用chrome试了一下,没有报错。
-
在 Chrome 上加载 jQuery 并运行以下 sn-p,它返回空:
var list=[];$('[src]').each(function(){if($(this).attr('src').match('http:')){list.push(this)}});clear();console.log(list) -
Soren,当您看到警告时,您使用的是哪个版本的 Chrome?你安装了什么版本的 JavaScript?
标签: javascript google-chrome ssl internet-explorer-8 firebug