我的网页有时(很少)显示“有一些不安全的资源”警告图标(黄色锁),如下面的屏幕截图所示。但是这种情况很少发生,现在我又抓到了一个,我不想再错过它,所以我不能冒险丢失页面。
该页面位于 URL:https ://eksisozluk.com/sedat-kapanoglu-ve-40-kisiye-hapis-talep-edilmesi--3960310 。您可能不会看到警告(除非是 Firefox),因为我在 Chrome 上的连续尝试中没有看到,当我收到错误时我已经登录。所以让我们假设你和我再也不会在 Chrome 上看到那个警告图标了。
当我使用该站点时,Devtools 没有打开,因此“网络”选项卡为空。那部分行不通。
“资源”将所有 JS 和 CSS 条目显示为 https,那里没有来自 http 的单一资源。
该页面已加载 jQuery,因此我尝试查询$('*[href^="http:"]')
但$('*[src^="http:"]')
无济于事。该页面包含一些外部 http 链接(不是资源,普通a href
的),但这不会触发警报。
我正在使用卡巴斯基反病毒软件,它使用代理来扫描传入/传出流量。尽管到目前为止我在其他网站上没有遇到任何问题,但这可能会造成一些麻烦。
我尝试了“查看页面源代码”并在其中搜索 http 资源,但只有带有 http 资源链接的标签是:
<meta name="twitter:image" content="http://eksisozluk.com/content/img/ilogo120.png" />
当图标也是绿色时,它实际上存在于页面中。所以这不可能是原因。
有没有办法直接查看 Chrome 中的“不安全内容”?
当我在 Firefox 中查看该页面时,它显示“部分加密”,但它也没有显示未加密的内容。“媒体”选项卡中的所有项目都以“https://”开头。
实际上,现在我可以在 Firefox 上连续重现该问题。我查看了网络选项卡,http://
但 Firefox 告诉我“部分加密”,“没有”显示。我不确定 Firefox 是否出于与 Google 相同的原因(因为 Firefox 对此保持一致和坚持),但我提供了这两种情况,以防它们属于相同的根本原因。
我终于在 Chrome 控制台中写了这段代码来找到罪魁祸首:
$("*").each(function (index, elem) {
var attrs = elem.attributes;
for(var n = 0; n < attrs.length; n++) {
var attr = attrs[n];
if(attr.nodeValue.indexOf("http://") >= 0) {
console.log("FOUND: <" + elem.nodeName + " " + attr.nodeName + "='" + attr.nodeValue + "'>");
console.log($(elem));
}
}
});
输出显示没有有趣的东西。仅供<META content>
推特参考,<A href>
s和mvc-Mini-Profiler插入的两个<TD title="http://...">
s。当然,他们都没有证明警告是合理的。这是完整的输出: http: //pastebin.com/kgV8XHgN
所以这看起来真的很有趣。DOM 中没有一个元素包含“HTTP”链接,但 Chrome 会警告“不安全”内容。我对此非常困扰。
页面上没有 iframe。($("iframe")
返回[]
)
编辑:该死,我丢失了页面:((导航到一个链接,后退按钮变成绿色的 SSL 图标)。我知道它不会持续很长时间。但我仍然感谢任何帮助,因为这不是我第一次看到那个问题。