Javascript 角消毒的目的是什么?

Javascript 角消毒的目的是什么?,javascript,angularjs,Javascript,Angularjs,我刚刚浏览了angular和openlayers指令的示例,遇到了以下示例: <!DOCTYPE html> <html ng-app="demoapp"> <head> <script src="../bower_components/openlayers3/build/ol.js"></script> <script src="../bower_components/angular/angular.min.

我刚刚浏览了angular和openlayers指令的示例,遇到了以下示例:

<!DOCTYPE html>
<html ng-app="demoapp">
  <head>
    <script src="../bower_components/openlayers3/build/ol.js"></script>
    <script src="../bower_components/angular/angular.min.js"></script>
    <script src="../bower_components/angular-sanitize/angular-sanitize.min.js"></script>
    <script src="../dist/angular-openlayers-directive.js"></script>
    <link rel="stylesheet" href="../bower_components/openlayers3/build/ol.css" />
    <script>
        var app = angular.module('demoapp', ['openlayers-directive']);
        app.controller('DemoController', [ '$scope', function($scope) {
            angular.extend($scope, {
                center: {
                    lat: 0,
                    lon: 0,
                    autodiscover: true
                }
            });
       }]);
    </script>
  </head>
  <body ng-controller="DemoController">
    <openlayers ol-center="center"  height="400px"></openlayers>
    <h1>Center autodiscover example</h1>
    <form>
        Latitude : <input type="number" step="any" ng-model="center.lat" />
        Longitude : <input type="number" step="any" ng-model="center.lon" />
        Zoom : <input type="number" step="any" ng-model="center.zoom" />
        <button ng-click="center.autodiscover=true">Discover position</button>
    </form>
  </body>
</html>

var-app=angular.module('demoapp',['openlayers-directive']);
app.controller('DemoController',['$scope',函数($scope){
角度。扩大范围{
中心:{
纬度:0,
朗:0,
自动发现:正确
}
});
}]);
中心自动发现示例
纬度:
经度:
缩放:
发现位置
这个例子可以看作是一个活生生的例子

我的问题是关于加载的文件,我不太明白为什么要加载下面的脚本:

<script src="../bower_components/angular-sanitize/angular-sanitize.min.js"></script>

上述脚本的目的是什么

编辑:::我在angular中找到了git repo和本模块的文档,但是我仍然不理解这个脚本的目的,文档甚至没有一个示例


我已经用jQuery编写了很多代码,所以有人能用jQuery术语解释一下吗

如果包含
角度清理
脚本,则通过将HTML解析为标记来清理输入。然后将所有安全令牌(来自白名单)序列化回正确转义的html字符串。这意味着不安全的输入不能进入返回的字符串

我在下面列举了一个受此启发的小例子。如果使用
var app=angular.module(“app”,[“ngSanitize”])运行此脚本正确呈现html链接。但是,如果您将此语句注释掉并取消注释
var app=angular.module(“app”,[])引发以下错误消息:
错误:[$sce:unsafe]试图在安全上下文中使用不安全值。


//包括ngSanitize可确保正确清理html链接
var app=angular.module(“app”,[“ngSanitize”]);
//如果使用此代码,则不会显示任何html链接
//var-app=angular.module(“app”,[]);
应用控制器(“主控制器”,功能($scope){
var main=这个;
main.links=[
"",
"",
""
];
});

这是否意味着
ng sanitize
仅在html输入是动态的或来自客户端输入的情况下才有用?因此,当仅使用静态html和模板URL(来自我们自己的受信任域(https)或模板缓存)在我们的视图/指令中加载html时,不需要
ng sanitize
?或者在其他情况下应该使用
ng sanitize
ng sanitize
对于静态html不需要,但是当html输入是动态的或直接或间接来自客户端输入时应该使用。