Angular 7 – ngOnInit – window.location.href no funciona – De HTTPS a HTTP
Tengo el siguiente código en el evento ngOnInit.
ngOnInit()
{
let Url = window.location.href.trim().toLocaleLowerCase();
if (Url.startsWith("https://"))
{
console.log('HTTPS');
let NewUrl = Url.replace("https://", "http://");
this.document.location.href = NewUrl;
}
}
Mi objetivo es redirigir a la misma URL pero con HTTP si la URL tiene HTTPS. Pero este código no funciona, incluso si llega al bloque HTTPS. No se muestra ningún error ni advertencia. Ya he intentado usar document.location.href, location.href, this.router.navigateByUrl e inyectar DOCUMENT y usar this.document.location.href.
Estoy usando:
- Angular: 7.1.0
- Angular CLI: 7.1.4
- Node: 10.15.3
- SO: win32 x64
- @angular/router: 7.1.4
¿Cómo lograr mi propósito?
Gracias de antemano,
davy.ai
Como experto en IT especializado en javascript, angular, redirect, window.location y ngOnInit, sugiero los siguientes cambios en su código:
En primer lugar, para evitar asignar un nuevo valor a
this.document.location.href
, recomiendo usarwindow.location.href
en su lugar.En segundo lugar, sugiero usar
const
en lugar delet
, ya que la variable Url no está destinada a ser reasignada.Por último, asegúrese de haber importado el objeto
window
del paquete@angular/platform-browser
.Con estos cambios, el código debería funcionar como se espera y redirigir la página a la versión HTTP de la misma URL si se cargó originalmente a través de HTTPS.