2015-07-04 152 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