fix(angular): accept other url schemas

This commit is contained in:
Manu Mtz.-Almeida
2018-11-29 01:45:19 +01:00
committed by Manu MA
parent 276c883493
commit e8e71838b3
2 changed files with 6 additions and 2 deletions

View File

@ -32,9 +32,11 @@ export class HrefDelegate {
this.navCtrl.setDirection(this.routerDirection);
}
if (!this.routerLink && this.router && url != null && url[0] !== '#' && url.indexOf('://') === -1) {
if (!this.routerLink && this.router && url != null && url[0] !== '#' && !SCHEME.test(url)) {
ev.preventDefault();
this.router.navigateByUrl(url);
}
}
}
const SCHEME = /^[a-z][a-z0-9+\-.]*:/;

View File

@ -38,8 +38,10 @@ export function getClassMap(classes: string | string[] | undefined): CssClassMap
return map;
}
const SCHEME = /^[a-z][a-z0-9+\-.]*:/;
export async function openURL(win: Window, url: string | undefined | null, ev: Event | undefined | null, direction: RouterDirection): Promise<boolean> {
if (url != null && url[0] !== '#' && url.indexOf('://') === -1) {
if (url != null && url[0] !== '#' && !SCHEME.test(url)) {
const router = win.document.querySelector('ion-router');
if (router) {
if (ev != null) {