我从服务器获取JSON数据,其中一个字段包含转义的html(实际上是电子邮件正文):
<html>\r\n<head>\r\n<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">\r\n</head>\r\n<body dir="auto">\r\n<div>Buonasera, ho verificato i dati sul mio account ed il numero di cell che vi ho fornito</div>\r\n<div><br>\r\n<a (更多…)
<html>\r\n<head>\r\n<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">\r\n</head>\r\n<body dir="auto">\r\n<div>Buonasera, ho verificato i dati sul mio account ed il numero di cell che vi ho fornito</div>\r\n<div><br>\r\n<a
我为尝试使用AngularJs渲染而疯狂。
以下内容不起作用:
<div ng-bind-html-unsafe="mail.htmlbody"></div>
我认为这是正常的,因为html实际上已经转义了。我应该先取消转义吗?Angular是否可以通过某些可用服务转义html?
如果我这样使用$ sce:
scope.mail.htmlbody = $sce.trustAsHtml(scope.mail.htmlbody);
显示源html,检查元素可以看到引用的内容。换句话说,在页面中将显示源html,而不是呈现html。也许我缺少什么?
同时$sce引入了服务(角度1.2),ng-bind-html-unsafe放弃了对指令的支持。新指令为ng-bind- html。如果使用此代码,则代码应按文档所述工作:
$sce
ng-bind-html-unsafe
ng-bind- html
<div ng-bind-html="mail.htmlbody"></div>