Angular 7 - ngOnInit - window.location.href 不工作 - 从 HTTPS 到 HTTP

Angular 7 - ngOnInit - window.location.href not working - From HTTPS to HTTP

我的 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;
    }
  }

我的目标是,如果 Url 使用 HTTPS,那么我需要重定向到相同的 Url 但使用 HTTP。但是即使代码到达 HTTPS 块,这段代码也不起作用。也没有显示错误或警告。 我已经尝试使用

  1. document.location.href
  2. location.href
  3. this.router.navigateByUrl
  4. 正在注入 DOCUMENT 并使用它。document.location.href

我正在使用

如何实现我的目的?

提前致谢,

我必须在 IIS 中执行此操作。 没有解决方案 n JavaScript.

如果条件 -

你应该考虑更干净一点
if (window.location.protocol === 'https:') {
    const correctProtocolUrl = window.location.href.trim().toLocaleLowerCase().replace('https://', 'http://');
    window.location.href = correctProtocolUrl;
}

我已经在 angular 13 中对此进行了测试,但预计会有类似的行为,因为 angular 不应该对 window 做任何事情。

但是如果你有后端解决方案,我认为这是最好的方法。