3

ngBindHtml(内部) CMS からいくつかの HTML を表示するために使用しています。

<span ng-bind-html="cmsHtml"></span>

idHTML には、次の属性を持つリンクが含まれています。

"<a id='fsgPdfLink' href='http://blah/download.pdf' target='_blank'>Click here to download the PDF</a>"

ただし、ページへのリンクを書き込む前に id 属性が angular によって削除されていることに気付きました。そのため、レンダリングされるのは次のとおりです。

<a href='http://blah/download.pdf' target='_blank'>Click here to download the PDF</a>

ngSanitize モジュールのソースを見ると、何らかの理由で id 属性が有効な属性のリストに含まれていないようです:

https://github.com/angular/angular.js/blob/master/src/ngSanitize/sanitize.js#L206

  1. id 属性を許可しない理由は何ですか? それはセキュリティリスクですか?
  2. できれば ngBindHtml を使い続けたいと思っています。サニタイザーのリストに安全なタグを追加できる API はありますか? または、このタグを追加するには、自分でソースを編集する必要がありますか?
4

1 に答える 1