3

I am new to AngularJS. I tried binding iframe src with Angular controller.

html:

<iframe class="mini-graph" ng-src="{{iframeUrl()}}"></iframe>

controller js:

$scope.iframeUrl = function(){
    return "http://www.google.co.in";
};

This doesn't work. But if I change my controller to:

$scope.iframeUrl = function(){
    return $sce.trustAsResourceUrl("http://www.google.co.in");
};

it works.

I don't know what's the magic happens with $sce.trustAsResourceUrl. It would be great if some one could explain it.

Sayuj
  • 7,464
  • 13
  • 59
  • 76

1 Answers1

0

For security reasons, AngularJS prevents binding ng-src to untrusted external resources, such as an external URL. The call to $sce.trustAsResourceUrl returns a special wrapper object for the external URL to mark the URL as trusted.

TheBugger
  • 41
  • 4