AngularJS里好些地方富蓄,比如路徑默認是個字符串训挡,不會認為是路徑,從而訪問不到我們需要的東西拦盹,那么我們就可以通過$sce告訴angualrJS這個路徑鹃祖,這樣是很安全滴。
$sce 的使用有如下方法
$sce.trustAs(type,name); ?//?
$sce.trustAsUrl(value);
$sce.trustAsHtml(value);
$sce.trustAsResourceUrl(value);
$sce.trustAsJs(value);
第一種方式:
有$sce處理: ?<audio? ng-src="{{sceControl(formData.mediaUrl)}}"? controls="controls">
您的瀏覽器不支持html5 </audio>
無$sce處理:<audio? ng-src="{{formData.mediaUrl}}"? controls="controls">您的瀏覽器不支持html5</audio>
您的瀏覽器不支持html5
第二種方式:
<audio? ng-src="{{data.url}}"? controls="controls">您的瀏覽器不支持html5</audio>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope,$sce){
//第一種方式數(shù)據(jù)源
$scope.formData={
"name":"視頻",
"mediaUrl":"http://res.audiogroup.cn/res/upload/agx_ims_creative/audio/20160307/bpryk96.mp3"http://視頻路徑
};
$scope.sceControl = $sce.trustAsResourceUrl;//第一種處理方式
//第二種方式數(shù)據(jù)源
$scope.data={
"name":"視頻",
"url":"http://res.audiogroup.cn/res/upload/agx_ims_creative/audio/20160307/bpryk96.mp3"http://視頻路徑
};
$scope.data.url = $sce.trustAsResourceUrl($scope.data.url);//第二種處理方式
});
</script>