51

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

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

4

3 回答 3

78

用于window.location.protocol检查是否是https:

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

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

function isSecure()
{
   return location.protocol == 'https:';
}
于 2008-11-11T23:06:45.883 回答
11

正如谷歌分析告诉我的:

if ("https:" == document.location.protocol) {
    /* secure */
} else {
    /* unsecure */
}
于 2010-03-18T20:45:42.423 回答
3

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

var secure = window.isSecureContext;

或者只是获取 isSecureContext:

if (isSecureContext) {
   ...
}

更多信息:https ://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts#Feature_detection#Feature_detection

于 2018-08-24T20:19:45.850 回答