-1

我正在尝试测试网页是否是 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> 

有人有任何工作代码片段吗?谢谢!

4

3 回答 3

1

使用location.protocol属性仅读取/写入当前 URL 的 http/https 部分。例如:

function sec() {
  if (location.protocol === 'http:') {
    location.protocol = 'https:';
  }
}
于 2020-06-23T17:51:05.160 回答
0

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

于 2020-06-23T17:48:54.807 回答
0

我想这会对你有所帮助。

function Check(){
  return location.protocol === 'https:'
}
if ( !Check()){
  var _location = location.toString();
  var _newLink = _location.replace('http:', 'https:');
  location = _newLink ;
}
于 2020-06-23T17:56:14.377 回答