2015-07-04 110 views
2

我不知道为什么,但我试图做一个图像按钮和URL的来自在我的控制器中获取JSON对象,但是什么链接是通过一个错误,如果我改变它工作正常!!!AngularJS Blocked加载资源

控制器:

$scope.iconImage = 'http://cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png'; 

HTML:

<!-- Error: [$sce:insecurl] Blocked loading resource from url not allowed by $sceDelegate policy. --> 
<input type="image" ng-src="{{iconImage}}" /> 

<!-- This works fine --> 
<img ng-src="{{iconImage}}" /> 

回答

3

您可以使用严格上下文转义(SCE)模式将URL标记为安全内容源。

trustAsResourceUrl(value);

进样[$ SCE]在您的控制器,然后使用它是这样的:

$scope.iconImage = $sce.trustAsResourceUrl('http://cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png'); 
+1

这是正确的。只是补充一点,使用ngSrc for img标记是严格上下文转义的例外,这就是为什么它适用于''。 – dfsq

0

你可以白名单使用$sceDelegateProvider的URL。请参阅here