1. ホーム
  2. javascript

[解決済み] JavaScriptでHTTPまたはHTTPSを検出し、HTTPSを強制的に実行する

2022-03-16 14:06:59

質問

JavaScriptでHTTPかHTTPSかを判別し、強制的にHTTPSを使用する方法はありますか?

HTTPやHTTPSを検出するコードはあるのですが、強制的に https: .

を使っています。 window.location.protocol プロパティで、サイトが何であれ https: その後、ページを更新すると、ブラウザに読み込まれた新しいhttps'ed URLが再ロードされることを期待します。

if (window.location.protocol != "https:") {
   window.location.protocol = "https:";
   window.location.reload();
}

解決方法は?

これを試してみてください

if (location.protocol !== 'https:') {
    location.replace(`https:${location.href.substring(location.protocol.length)}`);
}

location.href = blah は、このリダイレクトをブラウザの履歴に追加します。もしユーザーが戻るボタンを押すと、同じページにリダイレクトされます。このため location.replace この方法では、ブラウザの履歴にこのリダイレクトを追加しません。