Я хочу использовать ionic-alert-controller, чтобы показать сообщение пользователю. Это сообщение имеет форматированный текст и может содержать ссылки, что на самом деле разрешено предупреждением и работает как чудо для большинства ссылок.
Однако (когда ссылка является ссылкой на другое приложение) Angular иногда считает их небезопасными, что делает ссылки не кликабельными. Как я могу предотвратить такое поведение? Предупреждение принимает только строку как сообщение, а не SafeHTML.
this.a : string = getRichTextFromServer();
// EXAMPLE
// this.a = `<a href="www.google.de">works like a charm</a>
// Hello Hello <b>Example Text</b>
// <a href="sd-viewer://testlink">UNSAFE LINK</a>
// `;
// Some links are marked as unsafe
this.alertCtrl.create({
message: this.a
});
// Doesn't compile as message is only allowed to be a string
this.alertCtrl.create({
message: this.domSan.bypassSecurityTrustHTML(this.a)
});
// Gives error that function must be used with property binding
this.alertCtrl.create({
message: this.domSan.bypassSecurityTrustHTML(this.a).toString()
});
// Some links are marked as unsafe again
this.alertCtrl.create({
this.ds.sanitize(SecurityContext.HTML,
this.ds.bypassSecurityTrustHtml(a)
)
});
Что я могу здесь сделать?
РЕДАКТИРОВАТЬ: HTML (в моем примере, хранящийся в "a") динамически загружается из серверной части и поэтому неизвестен во время компиляции. Поэтому редактирование его для преобразования RichText в синтаксис Angular во время выполнения кажется довольно хакерским.