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