Sym - 一个用 Java 实现的现代化社区平台 • 源码 • 注册

Pipe - 小而美的开源博客平台 • 体验 • 皮肤
Solo - 一个用 Java 实现的博客系统,为你或你的团队创建个博客吧! • 源码下载 
Wide - 一个基于 Web 的 Go 语言 IDE • 教程试用

浏览器 - https 重定向

2019-11-18

描述

如果页面当前是 HTTP,把他重定向到 HTTPS。除此外,还应替换他的历史,以便按下返回按钮时,并不会让他返回 HTTP 页面。

提示

  • 使用 location.protocol 获取当前使用的协议
  • 如果不是 HTTPS,使用 location.replace() 将当前页面替换为 HTTPS
  • 使用 location.href 获取完整的地址,使用 String.prototype.split() 将协议部分从 URL 中分离出去
  • 当然你也可以在服务端使用 301 重定向
  • 如果可以的话,HSTS 将会更棒

代码

const httpsRedirect = () => {
  if (location.protocol !== 'https:') location.replace('https://' + location.href.split('//')[1]);
};

示例

如果你在 http://hacpai.com/activity/checkin,你将被重定向到 https://hacpai.com/activity/checkin

httpsRedirect(); 

返回总目录

每天 30 秒系列之 JavaScript 代码


欢迎注册黑客派社区,开启你的博客之旅。让学习和分享成为一种习惯!

1 评论
namelysweet • 2019-11-19
回复 删除

如果可以的话,HSTS 将会更棒 👍 👍 👍 👍 👍 👍 👍 👍