3

我是 AngularJS 的新手。我尝试将 iframe src 与 Angular 控制器绑定。

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。如果有人能解释一下,那就太好了。

4

1 回答 1

0

出于安全原因,AngularJS 阻止绑定ng-src到不受信任的外部资源,例如外部 URL。调用$sce.trustAsResourceUrl为外部 URL 返回一个特殊的包装对象,以将 URL 标记为受信任。

于 2020-10-19T12:12:15.193 回答