2016-04-15 17 views
1

Das folgt ist mein Code in der Vorlage:Der Sanitizer konnte den folgenden Block von HTML analysieren: <br style="margin: 0px; padding: 0px;"/>

<div ng-bind-html="product.qtxx"></div>

Aber ich habe Fehler vielleicht, weil die Daten in der json hTML-Codes wie „<br style=\"margin: 0px; padding: 0px;\"/>“ enthält, und ionische wirft Fehler:

Error: [$sanitize:badparse] The sanitizer was unable to parse the following block of html: <br style=\"margin: 0px; padding: 0px;\"/>blabla 

ich dieses Problem lösen kann nicht, vielleicht ist es, weil die doppelten Anführungszeichen "" im html beeinflusst die JSON-Syntax? Kann man das lösen?

+0

Ich denke, das kann man http://stackoverflow.com/questions/22533491/angularjs-how-can-i-ignore-certain-html-tags helfen –

Antwort

0

einen Bereich Methode wie folgt hinzufügen:

$scope.sanitizeMe = function(text) { 
    return $sce.trustAsHtml(text) 
}; 

und verwenden, die in Ihrer Ansicht:

<div ng-bind-html="sanitizeMe(product.qtxx)"></div> 

Und können Sie Ihre HTML analysieren müssen:

<br style=\“margin: 0px; padding: 0px;\”/> 

(nicht sicher, Sie haben Sonderzeichen sowie ungültige Anführungszeichen ”” anstelle von ""

)

zu

<br style="margin: 0px; padding: 0px;" /> 
+0

trustAsHtml sanitization umgeht. 'sanitizeMe' bereinigt nicht, aber erlaubt unsanitisiertes HTML in Ihre Seite. Siehe [$ sanitize] (https://docs.angularjs.org/api/ngSanitize/service/$sanitize) –

+0

Oh richtig @ JonathanGawrych lassen Sie mich das beheben –