angularjs解析带换行\n的字符串
来源:互联网 发布:淘宝杂货铺在哪儿 编辑:程序博客网 时间:2024/05/16 02:10
问题
我需要将数据库中存储的字符串在html页面上显示,结果发现字符串中的\n在页面是没有作用,也就是没有换行。
解决
方法一:
百度了,大家都说用ng-bind-html,这个对有的字符串可以解析,但是一般会报错。
[$sce:unsafe] Attempting to use an unsafe value in a safe context.
这是因为Angularjs为了系统安全着想,在Web安全中XSS(Cross-site scripting,脚本注入攻击),它是在Web应用程序中很典型的计算机安全漏洞。XSS攻击指的是通过对网页注入可执行客户端代码且成功地被浏览器执行,来达到攻击的目的,形成了一次有效XSS攻击,一旦攻击成功,它可能会获取到用户的一些敏感信息、改变用户的体验、诱导用户等非法行为,有时XSS攻击还会合其他攻击方式同时实施比如SQL注入攻击服务器和数据库、Click劫持、相对链接劫持等实施钓鱼,它带来的危害是巨大的,也是web安全的头号大敌。
所以在angular中默认是不相信添加的HTML内容,对于添加的HTML内容,首先必须利用$sce.trustAsHtml,告诉angular这是可信的HTML内容。否则你将会得到$sce:unsafe的异常错误。
方法二
controller('demo', ['$scope','$http','$routeParams','$sce', function ($scope,$http, $routeParams, $sce) {$http.get('/api/work/get?vultop=' + $routeParams.vultop).success(function (work) { $scope.vuldetail = $sce.trustAsHtml(vultop.vulDetail);});
module中
ng-bind-html="vuldetail"
这时,我们会发现AngularJS竟然把\n转换成了空格,所以我们还有在处理的文本中加入
text = vultop.vulDetail.replace(/\n/g, '<br />');$scope.vuldetail = $sce.trustAsHtml(text);
阅读全文
0 0
- angularjs解析带换行\n的字符串
- Android --- 字符串\n的换行问题
- angularjs解析html字符串
- C#字符串换行--\r\n
- angularjs手动识别字符串中的换行符
- AngularJs输出字符串换行\n或<br/>不管用时,要用ng-bind-html配合解决
- php 字符串中的\n换行符无效、不能换行的解决方法
- c++解析输入带空格的字符串
- android json解析带object的字符串
- java去除String字符串\n换行标志
- cv2.putText 文字换行('\n')无法解析换行
- Angularjs 的解析符
- 换行,回车换行 的解释 \r\n \r \n
- Android去除base64加密后的字符串中的换行符“\n”
- 解析带运算符字符串的一个小算法
- php解析带中文字符的cookie字符串
- react中将带标签的字符串转义为html解析
- MFC将edit编辑框内的多行字符串,根据“\n”换行符分割成多个单行字符串
- JAVA 基础语法——开发环境以及J2SE代码实现
- Apache设置页面认证(原创贴-转载请注明出处)
- Apache开启状态查看页面(原创贴-转载请注明出处)
- PHP优化笔记
- .NET之特性
- angularjs解析带换行\n的字符串
- apache2.4配置访问日志分割并过滤图片CSS等无用内容
- Mysql简单优化
- LVS简单介绍
- Qt+MSCV环境下配置外部库
- keepalived配置文件结构
- H5+JS+CSS3 实现圣诞情缘--学习心得1
- pragma comment的使用 pragma预处理指令详解
- 应用备份脚本示例