无法在Angular UI-Grid中显示安全的html
Unable to display safe html in Angular UI-Grid
我试图显示从服务器发送的UI-Grid中的html。一个例子是我的列标头,其中包含一个工具提示的HTML,它是在服务器端创建的,并连接到字符串(出于某种原因)。我需要它显示为HTML,但无论SCE设置如何,它仍然显示编码的HTML。下面是一个例子,复制了我的问题:
var app = angular.module('app', ['ngTouch', 'ui.grid']);
app.config(function($sceProvider){
$sceProvider.enabled(false);
});
app.controller('MainCtrl', ['$scope', function ($scope) {
$scope.gridOptions = {
columnDefs: [
{
displayName: "First Name",
field: "firstName",
cellFilter: "exampleFilter:this"
},
{
displayName: "First Name",
field: "lastName",
},
{
displayName: "First Name",
field: "company",
},
{
displayName: "First Name",
field: "employed",
}
]
};
$scope.gridOptions.data = [
{
"firstName": "Cox",
"lastName": "Carney",
"company": "Enormo",
"employed": true
},
{
"firstName": "Lorraine",
"lastName": "Wise",
"company": "<span>Comveyer</span>",
"employed": false
},
{
"firstName": "Nancy",
"lastName": "Waters",
"company": "Fuelton",
"employed": false
}
];
}]);
app.filter('exampleFilter', function ($sce) {
console.log($sce.isEnabled());
return function (value) {
return $sce.trustAsHtml("<span>Here</span>");
//return (isNaN(parseFloat(value)) ? '0.0' : Number(value).toFixed(2)) + "%";
}
});
这是我的活塞演示
您需要将cellTemplate和sce组合在一起。
{
displayName: "First Name",
field: "company",
cellTemplate: '<div ng-bind-html="COL_FIELD | trusted"></div>'
}
将 COL_FIELD
替换为ui-grid以包含右域绑定。cellTemplate使用ng-bind-html
和下面的trusted
过滤器来显示未转义的HTML:
app.filter('trusted', function ($sce) {
return function (value) {
return $sce.trustAsHtml(value);
}
});
http://plnkr.co/edit/rOWDQkFrQh24DWmIbhZx?p =预览
如果你想呈现一个过滤字段的html,你可以这样做:
cellTemplate: '<div class="ui-grid-cell-contents" ng-bind-html="grid.getCellDisplayValue(row ,col)"></div>'
您可能需要安装ngSanitize
插件ng-bind-html
工作
相关文章:
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何在生成下载文件时显示加载动画
- React重新渲染但未显示正确的组件
- nodejs-expressjs上传图像并显示它们
- 使用JSP从服务器检索和显示图像
- 音频控件在mouseover上显示,在mouseout上淡出
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- AngularJs基于角色的菜单显示安全问题
- 谷歌图书预览没有在安全的https上显示图书图像链接,但在http上工作.在Google Chrome和Touch浏览器
- 需要防止在 chrome 浏览器上显示“此页面包含不安全的内容”消息
- 将显示密码的解决方案转变为安全的解决方案
- 使用ajax加载post数据,并且在源中显示类别ID是不安全的
- 如何在iframe中显示不安全的内容
- 从 URL 显示由解码 URIComponent 解码的 HTML 代码是否安全
- 调用函数和显示图像时的内容安全策略问题
- 无法在Angular UI-Grid中显示安全的html
- 显示用户上传的html内容-安全问题
- 安全扫描显示JS脚本文件中的漏洞