Почему мы должны использовать $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-адрес как надежный.

Другие вопросы по тегам