如何检查网页是否使用 HTTP,如果是,则在 JavaScript 中切换到 HTTPS?

How do I check if a webpage is on HTTP and if so, switch to HTTPS in JavaScript?

我正在尝试测试网页是否为 HTTP,如果是,我希望它转到网站的 HTTPS 版本。但是,它不起作用。由于某种原因,没有抛出错误消息,但它没有执行。 javascript在domain1.com,网页在domain2.com

domain1.com/sec/sec.js:

function sec(){
var loc = window.location.href;
loc.replace("http", "https");
for(window.location.href; window.location.href != loc;){
window.location = loc;
}
}

domain2.com/index.html

<html>
<head> 
<title></title> 
<script src = "domain1.com/sec/sec.js"></script> 
<script>sec();</script> 
</head> 
</html> 

有人有有效的代码片段吗?谢谢!

您不能这么简单地转换为 https。您正在做的是客户端脚本。 Http 和所有相关的东西都在服务器端完成。而从 http 改成 https 也不是那么简单。您必须从授权人员那里获得签名证书。虽然应用证书是在服务器端完成的

使用 location.protocol 属性 到 read/write 只是当前 URL 的 http/https 部分。例如:

function sec() {
  if (location.protocol === 'http:') {
    location.protocol = 'https:';
  }
}

我想这会对你有所帮助。

function Check(){
  return location.protocol === 'https:'
}
if ( !Check()){
  var _location = location.toString();
  var _newLink = _location.replace('http:', 'https:');
  location = _newLink ;
}