javascript – 角度消毒的目的是什么?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 角度消毒的目的是什么?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2889字,纯文字阅读大概需要5分钟。
内容图文
![javascript – 角度消毒的目的是什么?](/upload/InfoBanner/zyjiaocheng/706/bcbf8d639b874c759d6797e84d97b7fe.jpg)
我只是通过角度和openlayers指令HERE的示例,并遇到了以下示例:
<!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>
该示例可以看作是实例HERE.
我的问题是关于正在加载的文件,我不太明白为什么加载下面的脚本:
<script src="../bower_components/angular-sanitize/angular-sanitize.min.js"></script>
上述脚本的目的是什么?
编辑:::我在角度HERE中找到了这个模块的git repo和文档,但我仍然不明白这个脚本的用途,文档甚至没有一个例子.
我已经在jQuery中编写了相当多的代码,那么有人可以用jQuery术语解释这个吗?
解决方法:
如果包含angular-sanitize脚本,则通过将HTML解析为标记来清理输入.然后将所有安全令牌(来自白名单)序列化为正确转义的html字符串.这意味着没有不安全的输入可以使它进入返回的字符串.
我在下面列出了一个受此blog post启发的小例子.如果你用var app = angular.module(“app”,[“ngSanitize”])运行这个脚本; html链接正确呈现.但是,如果您将此语句注释掉并取消注释var app = angular.module(“app”,[]);引发以下错误消息:错误:[$sce:unsafe]尝试在安全上下文中使用不安全的值.
<!DOCTYPE html>
<html>
<head>
<link rel="icon" type="image/x-icon" href="favicon.ico">
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.1/angular.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.1/angular-sanitize.min.js"></script>
<!-- BEGIN disable refresh -->
<script type="text/javascript">
//Including ngSanitize ensures html links get properly sanitized
var app = angular.module("app", ["ngSanitize"]);
//If you use this code instead no html links get displayed
//var app = angular.module("app", []);
app.controller("mainController", function($scope) {
var main = this;
main.links = [
"<a href='http://google.com'>Google</a>",
"<a href='http://odetocode.com'>OdeToCode</a>",
"<a href='http://twitter.com'>Twitter</a>"
];
});
</script>
</head>
<body ng-app="app">
<section ng-controller="mainController as main">
<nav>
<ul>
<li ng-repeat="link in main.links" ng-bind-html="link">
</li>
</ul>
</nav>
</section>
</body>
</html>
内容总结
以上是互联网集市为您收集整理的javascript – 角度消毒的目的是什么?全部内容,希望文章能够帮你解决javascript – 角度消毒的目的是什么?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。