問題タブ [ngsanitize]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - 角度サニタイズ / ng-bind-html が機能しない?
リピーターがセットアップされており、html が含まれていない限り、表示するデータを取得できます。
含めangular-sanitize.js
て使用してみましたng-bind-html
ng-bind-html
ただし、属性内のみで、スパン内には何も表示されません。サニタイズが効いていないようで、
これをアプリの依存関係に追加する必要があると読みましたが、どこで追加すればよいかわかりません。
私はAngularサイトでtutに取り組んできたばかりなので、現時点では非常に基本的なコントローラーのみをセットアップしています。
html - ngSanitizeを使用して特殊文字を適切にエスケープする方法は?
ユーザーが「&」などの特殊文字を入力できるようにし、ページが送信されたときにそれらを正しい html に変換できるようにしたいと考えています。ex "&" => "&" 例を読んだところ、ng-bind-htmlと$sceが見つかりました。
ビューで適切に変換されたコントローラーから送信されたhtmlテキストのみを表示するため、ng-bind-htmlは私の必要性には役に立たないようです。例: ユーザーには「&」が「&」として表示されます。したがって、サーバーに送信する前に、コントローラーで「$ sce」を使用して文字を変換しています。元:
これはこれを行う正しい方法ですか?または、ビューをバインドしてサニタイズされたテキストをコントローラーに渡す簡単な方法はありますか? Angular 1.2.4を使用しています。
angularjs - ngSanitize は allow id 属性を許可しません
ngBindHtml
(内部) CMS からいくつかの HTML を表示するために使用しています。
id
HTML には、次の属性を持つリンクが含まれています。
ただし、ページへのリンクを書き込む前に id 属性が angular によって削除されていることに気付きました。そのため、レンダリングされるのは次のとおりです。
ngSanitize モジュールのソースを見ると、何らかの理由で id 属性が有効な属性のリストに含まれていないようです:
https://github.com/angular/angular.js/blob/master/src/ngSanitize/sanitize.js#L206
- id 属性を許可しない理由は何ですか? それはセキュリティリスクですか?
- できれば ngBindHtml を使い続けたいと思っています。サニタイザーのリストに安全なタグを追加できる API はありますか? または、このタグを追加するには、自分でソースを編集する必要がありますか?
javascript - $sce.TrustAsUrl が機能しない
入力ボックスから入力を取得して表示する angularjs を使用してアプリを作成しようとしています。チャットに似ています。そのため、入力には URL を含めることができ 、この SO の質問How to replace plain URLs with links? で見つけたAutolinker.jsの助けを借りて、それらをリンクに変換しています。. Angular バインディングに html を挿入するためにngSanitizeを使用していますが、URL のみをリンクに変更し、2<3 のようなものは 2<3 として出力する必要がありますが、HTML タグとして読み取ってはいけません。
$sceも使用しましたが、機能しませんでした。Parse Error
2<3でエラーが発生しています
を使用するより良いオプションがありますが、linky
http なしで URL を変換することはできません。3つのオプションをいじります:http: //jsfiddle.net/JY3Za/58/(PS:ここでは、テストのために正規表現を使用しました)
では、Autolinker.js を使用しているときに html を angular に挿入して、 と タグのみが許可され、これら以外のものはプレーン テキストとして表示されるようにする最善の方法は何でしょうか?
javascript - ng-repeat で $sce.trustAsHtml を使用する AngularJS
ng-repeat のオブジェクトのプロパティで $sce.trustAsHtml() を使用しようとしています。その結果、HTML は完全に空白になります。ただし、ngSanitizeを使用してHTMLが正しく出力されます。
ところで、私は AngularJS v1.3.0-beta.3 を使用しています。バグがあるのか、何か間違っているのかわかりません。
angularjs - Angular ngSanitize / ngDragDrop の互換性
だから、私はAngularアプリケーションに取り組んでおり、ngSanitizeとngDragDropの間の互換性に関して問題を抱えています. ngDragDrop はhttp://ganarajpr.github.io/angular-dragdrop/で、 ngSanitize はhttps://docs.angularjs.org/api/ngSanitize/service/$sanitizeで見つけることができます。
アプリ モジュールに ngSanitize を含めた瞬間、Angular コードが完全に機能しなくなりました。
私はcompatibility.htmlというテストファイルを持っています
そしてもう1つはcompatibility.jsと呼ばれる
なぜそれが機能しないのか、何をすべきかわかりません。おそらく、評価はコードが実行され{{3+1}}
たときに a を返すはずですが、そうではありません。4
私は ngSanitize と ngDragDrop の両方を別々に使用しましたが、両方を同時に使用しようとした場合にのみ問題が発生します。