私の現在のURLは次のとおりです。
https:// localhost:8080/MyApp/manager/dashboard
上記のURL内で、取得したいのは https:// localhost:8080/MyApp / 部分だけです。
何もハードコーディングせずにこれをフェッチする方法はありますか?
ドメイン名とアプリケーション名のみを取得する場合は、ルーターの場所とウィンドウの場所に依存します。
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, '');
}
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