2017-05-30 15 views
1

剣道グリッドを使用しています。私が得ているデータの中にはスクリプトタグが入っています。私は列にエンコードされたプロパティをtrueに設定しました。それでもスクリプトタグをエンコードしていません。剣道グリッドがスクリプトタグデータを処理できません

この小さなおしゃべりを試すことができます。

<div id="grid"></div> 
<script> 
$("#grid").kendoGrid({ 
    columns: [ 
    { field: "name", encoded: true } 
    ], 
    dataSource: [ { name: "<script>Jane Doe</script>" } ] 
}); 
</script> 
+1

*なぜ*スクリプトタグですか? – DontVoteMeDown

+0

私は制御できない他のソースからそのスクリプトタグデータを取得しています – PSR

答えて

2

ウィジェットレンダリングするために使用されています前に、データソースのデータを操作することができdataSource.schema.parseイベントでこれらの<script>タグをリッピングしてみてください。

schema: { 
    parse: function(data) { 
     data.forEach(x => x.name = x.name.replace(/<(\/?)script>/g, '')); 

     return data; 
    } 
} 

replace<script>タグのために具体的な作られていることを、他のタグは管理されません。正規表現はhtmlを扱う最良の方法ではありませんが、特定のタグの場合は大丈夫です。

Demo

関連する問題