Detecta HTTP o HTTPS y luego fuerza HTTPS en JavaScript

Resuelto Registered User asked hace 13 años • 13 respuestas

¿Hay alguna forma de detectar HTTP o HTTPS y luego forzar el uso de HTTPS con JavaScript?

Tengo algunos códigos para detectar HTTP o HTTPS pero no puedo forzar su uso https:.

Estoy usando la propiedad window.location.protocol para configurar el sitio y https:luego actualizar la página y, con suerte, recargar una nueva URL https cargada en el navegador.

if (window.location.protocol != "https:") {
   window.location.protocol = "https:";
   window.location.reload();
}
Registered User avatar Jan 18 '11 17:01 Registered User
Aceptado

Prueba esto

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

location.href = blahagrega esta redirección al historial del navegador. Si el usuario presiona el botón Atrás, será redirigido a la misma página. Es mejor usarlo location.replaceya que no agrega esta redirección al historial del navegador.

Soumya avatar Jan 18 '2011 11:01 Soumya

Al configurar location.protocol se navega a una nueva URL . No es necesario analizar/cortar nada.

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

Firefox 49 tiene un error que httpsfunciona pero https:no. Se dice que está solucionado en Firefox 54 .

sam avatar Apr 05 '2012 21:04 sam