web-dev-qa-db-ja.com

Angular 5:URLからホスト名とアプリ名を取得する

私の現在のURLは次のとおりです。

https:// localhost:8080/MyApp/manager/dashboard

上記のURL内で、取得したいのは https:// localhost:8080/MyApp / 部分だけです。

何もハードコーディングせずにこれをフェッチする方法はありますか?

4
Suvonkar

ドメイン名とアプリケーション名のみを取得する場合は、ルーターの場所とウィンドウの場所に依存します。

import { Location } from '@angular/common';

constructor(private loc: Location) {}

ngOnInit() {
  const angularRoute = this.loc.path();
  const url = window.location.href;

  const domainAndApp = url.replace(angularRoute, '');
}
5
user4676340

window.locationには多くの情報が含まれています。 URLが https://example.com:80/a/b/c であるとすると、Angularで次の情報を簡単に取得できます。

window.location.hostname = example.com
window.location.Host = example.com:80
window.location.protocol = https
window.location.port = 80
window.location.pathname = /a/b/c
window.location.href     = https://example.com:80/a/b/c
4
Vikas Kandari