使用AngularJS在HTML中显示Unicode
Display Unicode in HTML with AngularJS?
我在AngularJS控制器的HTML中显示Unicode时遇到问题。这是我的JavaScript:
var mOverview = angular.module('mOverview', []);
mOverview.controller('mOverviewController', function ($scope, $sce) {
$scope.mData = [
{
'name': '↓'+'NASDAQ', // here the unicode is ↓ but the output is also ↓ which is supposed to be a down-arrow
'amount': '15,698.85',
'upDown': '+105.84'
}
];
});
这是我的HTML:
<div ng-app="mOverview">
<div ng-controller="mOverviewController">
<table>
<tr>
<th></th>
<th></th>
<th></th>
</tr>
<tr ng-repeat="md in mData">
<td>{{md.name}}</td>
<td>{{md.amount}}</td>
<td>{{md.upDown}}</td>
</tr>
</table>
</div>
我尝试了$sanitise()
和trustAsHtml
,但没有成功。那么,如何在HTML中显示Unicode向下箭头呢?
避免从脚本中编写HTML标记。一旦数据可能包含像<
和&
这样的HTML特殊字符,就会出现损坏和潜在的安全问题(XSS)。
HTML标记↓
所引用的字符是U+2193向下箭头。您可以使用JS字符串文字转义符在JavaScript中直接引用它:
'name': ''u2193NASDAQ',
或者,如果您的页面/脚本始终以Unicode安全格式(例如UTF-8)保存和提供,那么您根本不需要对其进行转义:
'name': '↓NASDAQ',
具有严格上下文转义的角度船舶。因此,您必须明确表示要将某些字符呈现为HTML。
注意,我还在外部资源中添加了ng-sanitize
。
我创建了一个新的过滤器
mOverview.filter('unsafe', function($sce) {
return function(val) {
return $sce.trustAsHtml(val);
};
});
并在这样的视图中使用它:
<td ng-bind-html="md.name | unsafe"></td>
http://jsfiddle.net/9UdVY/
相关文章:
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何在生成下载文件时显示加载动画
- React重新渲染但未显示正确的组件
- nodejs-expressjs上传图像并显示它们
- 使用JSP从服务器检索和显示图像
- 音频控件在mouseover上显示,在mouseout上淡出
- 在 Javascript 中显示 unicode 字符(表情符号)
- 度 Unicode 显示为问号
- 删除不受支持的 unicode 字符,否则显示为正方形
- Jquery DataTables 无法显示 unicode 字符
- 在呈现的HTML中显示特殊字符、HTML实体和unicode
- 使用javascript时,Unicode字符不能在我的网站上正确显示
- 如何在按钮标签上显示unicode字符
- java script警告IE 8中的Unicode显示问题
- json_encode unicode转义序列无法在javascript中显示
- 使用AngularJS在HTML中显示Unicode
- 如何检测Unicode字符是否正确显示在网页上
- 无法让 unicode 字符正确显示 - Javascript 和 HTML
- Unicode在JS和HTML中转义时显示不一致