http-如何在客户端使用JavaScript来检测页面是否已加密?

是否可以在客户端检测用户是否正在使用加密页面?

换句话说,我想知道当前页面的URL是否以http或https开头。

asked 2020-02-13T21:23:53Z
3个解决方案
76 votes

使用window.location.protocol检查是否为https:

function isSecure()
{
   return window.location.protocol == 'https:';
}

另外,如果您没有本地范围的位置,则可以省略指定“窗口”。

function isSecure()
{
   return location.protocol == 'https:';
}
tvanfosson answered 2020-02-13T21:24:10Z
12 votes

正如Google Analytics(分析)教给我的:

if ("https:" == document.location.protocol) {
    /* secure */
} else {
    /* unsecure */
}
Rodrigo answered 2020-02-13T21:24:30Z
2 votes

最新浏览器的第二种方法:

var secure = window.isSecureContext;

或只是获取isSecureContext:

if (isSecureContext) {
   ...
}

此处更多内容:[https://developer.mozilla.org/zh-CN/docs/Web/Security/Secure_Contexts#Feature_detection#Feature_detection]

Chris Zalcman answered 2020-02-13T21:24:59Z
translate from https://stackoverflow.com:/questions/282444/how-can-i-use-javascript-on-the-client-side-to-detect-if-the-page-was-encrypted