为什么要要$sce?因为angularJS里好些地方,比如路径默认是个字符串,不会认为是路径,从而访问不到我们需要的东西,那么我们就可以通过$sce告诉angualrJS这个路径,这样是很安全滴。它有以下几种:

$sce.trustAs(type,name);
$sce.trustAsUrl(value);
$sce.trustAsHtml(value);
$sce.trustAsResourceUrl(value);
$sce.trustAsJs(value);

1.trustAsResourceUrl

<html>
<head>
<meta charset="utf-8">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body><div ng-app="myApp" ng-controller="myCtrl">第一种方式:<br/>有$sce处理:<audio  ng-src="{{sceControl(formData.mediaUrl)}}"  controls="controls">您的浏览器不支持html5</audio><br/>无$sce处理:<audio  ng-src="{{formData.mediaUrl}}"  controls="controls">您的浏览器不支持html5</audio><br/><br/>第二种方式:<br/><audio  ng-src="{{data.url}}"  controls="controls">您的浏览器不支持html5</audio>
</div><script>var app = angular.module('myApp', []);app.controller('myCtrl', function($scope,$sce){//第一种方式数据源$scope.formData={"name":"视频","mediaUrl":"http://res.audiogroup.cn/res/upload/agx_ims_creative/audio/20160307/bpryk96.mp3"//视频路径};      $scope.sceControl = $sce.trustAsResourceUrl;//第一种处理方式//第二种方式数据源$scope.data={"name":"视频","url":"http://res.audiogroup.cn/res/upload/agx_ims_creative/audio/20160307/bpryk96.mp3"//视频路径};  $scope.data.url = $sce.trustAsResourceUrl($scope.data.url);//第二种处理方式});
</script>
</body>
</html>

2.trustAsHtml

<body>
<div ng-app="myApp" ng-controller="myCtrl">未处理的:<div ng-repeat="item in formData">{{item.name}} :{{item.htmlVal}}</div><br/>处理过的:<button ng-click="look()">查看处理结果</button><div ng-repeat="item in data">{{item.name}} :<p ng-bind-html = "item.htmlVal"></p></div>
</div><script>var app = angular.module('myApp', []);app.controller('myCtrl', function($scope,$sce){//未处理数据源$scope.formData=[{"name":"张春玲","htmlVal":"我是<span style='color:red;'>张春玲<span>"},{"name":"sb","htmlVal":"我是<span style='color:red;'>sb<span>"}];  //处理结果$scope.look = function(){alert$scope.data=[{"name":"张春玲","htmlVal":"我是<span style='color:red;'>张春玲<span>"},{"name":"sb","htmlVal":"我是<span style='color:red;'>sb<span>"}];for(var i=0;i<$scope.data.length;i++){$scope.data[i].htmlVal = $sce.trustAsHtml($scope.data[i].htmlVal);}};});
</script>
</body>

深究AngularJS——$sce的使用相关推荐

  1. Angular - - $sce 和 $sceDelegate

    $sce $sce 服务是AngularJs提供的一种严格上下文转义服务. 严格的上下文转义服务 严格的上下文转义(SCE)是一种需要在一定的语境中导致AngularJS绑定值被标记为安全使用语境的模 ...

  2. 运维经验分享(六)-- 深究crontab不能正确执行Shell脚本的问题(二)

    运维经验分享作为一个专题,目前共7篇文章 <运维经验分享(一)-- Linux Shell之ChatterServer服务控制脚本> <运维经验分享(二)-- Linux Shell ...

  3. AngularJS 使用$sce控制代码安全检查

        阅读目录 什么是SCE 来自官网的例子:ng-bind-html 实际工作中的例子:ng-src链接 参考 由于浏览器都有同源加载策略,不能加载不同域下的文件.也不能使用不合要求的协议比如fi ...

  4. 一分钟深入Mysql的意向锁——《深究Mysql锁》

    延伸阅读: 三分钟了解Mysql的表级锁 五分钟了解Mysql的行级锁 mysql锁相关讲解及其应用--<深究mysql锁>了解锁前,一定要先看这篇,了解什么是MVCC,如果我们学习锁,没 ...

  5. 五分钟了解Mysql的行级锁——《深究Mysql锁》

    延伸阅读: 三分钟了解Mysql的表级锁 一分钟深入Mysql的意向锁 mysql锁相关讲解及其应用--<深究mysql锁>了解锁前,一定要先看这篇,了解什么是MVCC,如果我们学习锁,没 ...

  6. 三分钟了解Mysql的表级锁——《深究Mysql锁》

    延伸阅读: 五分钟了解Mysql的行级锁 一分钟深入Mysql的意向锁 mysql锁相关讲解及其应用--<深究mysql锁>了解锁前,一定要先看这篇,了解什么是MVCC,如果我们学习锁,没 ...

  7. CISCO SCE 第三部分 SCE平台的升级

    网络应用的日新月异,互联网每日都在诞生新的应用技术,那么来执行网络流量分析的设备也需要及时的更新其识别代码,才能检测出新的流量.<?xml:namespace prefix = o ns = & ...

  8. $sanitize和$sce服务的使用方法

    var app =angular.module('myApp',['ngSanitize']); app.controller('ctrl',function($scope,$sce){$scope. ...

  9. 读《Android 安全架构深究》

    Android 安全架构深究 安全是一个非常立体而丰富得概念.在不同的场景下,安全有着不同的含义. 比如对于网络传输,安全指的是传输的数据不会被其他人看到.篡改.伪造及仿冒,传输的数据不会遭到破坏,数 ...

最新文章

  1. LabVIEW实现CRC校验
  2. python知识体系_python学习知识体系梳理
  3. Redux中的重要概念
  4. c++智能指针的设计思想
  5. ASP.NET web.config
  6. SAP 电商云 Spartacus UI 里如何捕捉语言设置的更改
  7. 18个项目必备的JavaScript代码片段——数组篇
  8. 前端学习(1670):前端系列实战课程之核心运动原理
  9. LeetCode 463. Island Perimeter
  10. 【华为云技术分享】处理器存储模型概述(1)
  11. 管理感悟:眼高手低到眼高手高
  12. 安装semantic-text-similarity
  13. 计算机右键管理 已停止工作,管理器停止工作,详细教您怎么解决资源管理器已停止工作...
  14. roundcube邮箱手机端_手机QQ邮箱在哪里找
  15. 开发者必读的十大经典书籍
  16. 信息学奥赛一本通1182 合影效果
  17. Ant Design Pro 4 动态菜单icon丢失解决办法
  18. java bearer token_从Web API在MVC中存储Bearer Token的位置
  19. 好看的照片效果html,9款超绚丽的HTML5 3D图片动画特效
  20. JAVA的奇门遁甲--lombok简单使用

热门文章

  1. 134. 加油站(贪心算法)
  2. 反编译APK文件的三种方法
  3. 线性筛素数(欧拉筛)
  4. 带你揭秘Web前端发展的前景以及技术
  5. Apache 反向代理,Laravel获取用户真实IP
  6. 1、SQL是什么?它能做什么?
  7. 1095 Cars on Campus (30 分)【难 / 模拟 未完成】
  8. 【PAT乙级】1090 危险品装箱 (25 分)
  9. CodeBlocks的一些用法和常见的问题
  10. c语言运行时隐藏dos窗口