有没有办法在 JavaScript 中检测网站是否使用不受浏览器信任(但被用户接受)的 SSL 证书通过 HTTPS 加载?即它是无效/过期/自签名的 SSL 证书。
window.isSecureContext
并没有表明这一点,在所有情况下,如果页面是通过 HTTPS 加载的,我自己和badssl.comtrue
上都会尝试过。
我的用例:我正在尝试使用 ApplicationCache,但它拒绝工作:在 Chrome 上,它会触发回调error
并显示异常消息“Manifest fetch failed (9)”,在 Firefox 上,它会默默失败。
由于这意味着浏览器的行为有所不同,我希望它是可检测到的,并且我想确保在无法使用 ApplicationCache 时完全跳过它。
我不想从 JavaScript 创建单独的 SSL 连接(用户可能安装了自定义 CA 的证书等),也不想尝试使用 ApplicationCache 捕获异常。