Я пытаюсь обнаружить URL-адрес или простой текст в строковом значении. Если это URL-адрес, функция возвращает гиперссылку HTML с использованием bypassSecurityTrustHtml
. Гиперссылка отображается, но когда я нажимаю на нее, ничего не происходит. Однако Chrome распознает это как ссылку, и когда я щелкаю правой кнопкой мыши, я могу выбрать «Открыть в новом окне», и он работает.
Угловой код:
public formatReservedField(value: string) {
let pattern = /(http|https|ftp|ftps)\:\/\//gm;
if (pattern.test(value)) {
return this._sanitizer.bypassSecurityTrustHtml("<a href='" + value + "' target='_blank'>" + value + "</a>");
}
return value;
}
HTML код:
<div [innerHTML]="formatReservedField(reservedField)"></div>