Почему мы должны использовать $sce.trustAsResourceUrl(iframeUrl)?
Я новичок в AngularJS. Я попытался связать iframe src с угловым контроллером.
HTML:
<iframe class="mini-graph" ng-src="{{iframeUrl()}}"></iframe>
контроллер JS:
$scope.iframeUrl = function(){
return "http://www.google.co.in";
};
Это не работает Но если я изменю свой контроллер на:
$scope.iframeUrl = function(){
return $sce.trustAsResourceUrl("http://www.google.co.in");
};
оно работает.
Я не знаю, что происходит с волшебством $sce.trustAsResourceUrl
, Было бы здорово, если бы кто-нибудь мог это объяснить.
0 ответов
По соображениям безопасности AngularJS предотвращает привязку
ng-src
к ненадежным внешним ресурсам, таким как внешний URL. Призыв к
$sce.trustAsResourceUrl
возвращает специальный объект-оболочку для внешнего URL-адреса, чтобы пометить URL-адрес как надежный.