2016-01-29 3 views
6

Ich verwende angular-translate für die Lokalisierung und ich bin ein wenig unklar, auf die Unterschiede zwischen dem ‚sanieren‘ und "sanitizeParameters Strategien für die Flucht.Unterschied zwischen Angular Übersetzen der useSanitizeValueStrategy (‚sanieren‘) vs. useSanitizeValueStrategy (‚sanitizeParameters‘)

Ich habe bereits die docs checkte, aber ich verstehe immer noch nicht, was bedeutet, „HTML in dem Übersetzungstext sanieren“ vs „HTML bereinigt in den Werten“. Ist einer weniger sicher als der andere?

Wenn nur der HTML-Wert in den Werten des Interpolationsparameters bereinigt wird, wird der Inhalt nicht gründlich bereinigt? Die einzigen Unterschiede, die ich sehen kann, ist, dass "sanitizeParamters" bei Verwendung eines Filters HTML-Code entzieht, während "Bereinigen" dies nicht tut. Ich kann die "Sanitize" -Strategie nicht verwenden, weil das utf8-Problem here adressiert ist. Daher möchte ich sicherstellen, dass die Verwendung von 'sanitizeParameters' eine sichere Strategie ist.

Antwort

3

habe ich einen Blick direkt in der offiziellen Winkelquelldatei ‚Winkel translate.js‘ und bestimmt die folgende

  • sanieren - reinigt die vollständige Übersetzung inklusive aller Parameter
  • sanitizeParameters - > Sanitizes nur die Parameter

Die gleiche Logik appli es für beide escape und escapeParameters.

Hinweis: Strategien können kombiniert werden dh.

$translateProvider.useSanitizeValueStrategy(['sanitize', 'escapeParameters']);