Saya ingin menggunakan ionic-alert-controller untuk menampilkan pesan kepada pengguna. Pesan ini berupa teks kaya dan mungkin berisi tautan, yang sebenarnya diizinkan oleh peringatan tersebut dan berfungsi dengan baik untuk sebagian besar tautan.
Namun (bila tautan tersebut merupakan tautan dalam ke aplikasi lain) Angular terkadang menganggapnya tidak aman, sehingga membuat tautan tersebut tidak dapat diklik. Bagaimana cara mencegah perilaku ini? Peringatan hanya menerima string sebagai pesan, tidak ada SafeHTML.
this.a : string = getRichTextFromServer();
// EXAMPLE
// this.a = `<a href="/idwww.google.de">works like a charm</a>
// Hello Hello <b>Example Text</b>
// <a href="/idsd-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)
)
});
Apa yang bisa saya lakukan di sini?
EDIT: HTML (dalam contoh saya disimpan di "a") dimuat secara dinamis dari backend dan oleh karena itu tidak diketahui pada waktu kompilasi. Oleh karena itu, mengeditnya untuk mengonversi RichText ke Sintaks Angular saat runtime tampaknya cukup rumit.