我正在使用kendo网格。我得到的一些数据中有脚本标记。我已将列编码属性设置为true。它仍然不是编码脚本标记。
你可以尝试这个小小的。
<div id="grid"></div>
<script>
$("#grid").kendoGrid({
columns: [
{ field: "name", encoded: true }
],
dataSource: [ { name: "<script>Jane Doe</script>" } ]
});
</script>
答案 0 :(得分:2)
尝试剥离dataSource.schema.parse
事件中的<script>
个代码,在这些代码中,您可以在使用dataSource数据渲染小部件之前对其进行操作:
schema: {
parse: function(data) {
data.forEach(x => x.name = x.name.replace(/<(\/?)script>/g, ''));
return data;
}
}
请注意,replace
专用于<script>
代码,其他代码无法管理。正则表达式不是处理html的最佳方式,但是如果是特定标签,它还可以。