angularJS Comment puis-je ignorer certaines balises HTML?
J'ai eu cette erreur parce que l'un des utilisateurs a ajouté à son poste <3
Erreur: [$désinfecter:badparse] Le désinfectant n'a pas pu analyser le bloc suivant de html: <3
J'ai écrit un code qui ng-bind-html ="Detail.details"
Je veux lui être prises qu' <a>
tag et tag <br />
Est-ce possible?
Merci!
I <3 de ces rapports de bug.
OriginalL'auteur Rafael Smith | 2014-03-20
Vous devez vous connecter pour publier un commentaire.
Vous pouvez créer un filtre qui va désinfecter votre html.
Je l'ai utilisé en fonction strip_tags
http://phpjs.org/functions/strip_tags/
contrôleur:
vue:
http://plnkr.co/edit/qOuvpSMvooC6jR0HxCNT?p=preview
Si cela fonctionne, upvote...
est ti possible de ne pas remplacer mal de balises, mais les afficher? Exemple, dans votre plunker, insteand de ne pas avoir <b> balises, juste l'affichage des <b>Gras aseptisé</b>?
OriginalL'auteur Goodnickoff
J'ai eu le même problème et résolu en utilisant
$sce.trustAsHtml
, voir ceIl résoudre le problème
Ecoute, je ne suis pas à l'aide de
ng-bind-html-unsafe
qui est depricated, vous ne pouvez pas utiliserng-bind-html
sansngSanitize
. Donc, il n'y a pas de problème de sécurité.OriginalL'auteur Ali Adravi
À préserver l'existant
ng-bind-html
comportement sans se planter, vous pouvez prendre le$sanitize:badparse
exception.La
ngBindHtml
composant utilise en interne langSanitize
service. Injecter$sanitize
dans votre contrôleur et de l'attraper.L'avantage de ce rapport à la
$sce.trustAsHtml
méthodes est que$sanitize
ne pas introduire d'éventuelles failles de sécurité (par exemple. javascript injection).Contrôleur (injection
$sanitize
):Cette méthode pourrait être améliorée avec un cache de la dernière valeur.
Vue:
OriginalL'auteur Glenn Murrary