Você precisa adicionar explicitamente protocolos de URL à lista de permissões do Angular usando uma expressão regular. Apenas http
, https
, ftp
e mailto
são ativadas por padrão. O Angular prefixará um URL que não esteja na lista de permissões unsafe:
ao usar um protocolo como chrome-extension:
.
Um bom lugar para colocar na lista branca o chrome-extension:
protocolo seria no bloco de configuração do seu módulo:
var app = angular.module( 'myApp', [] )
.config( [
'$compileProvider',
function( $compileProvider )
{
$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|chrome-extension):/);
// Angular before v1.2 uses $compileProvider.urlSanitizationWhitelist(...)
}
]);
O mesmo procedimento também se aplica quando você precisa usar protocolos como file:
e tel:
.
Consulte a documentação da API AngularJS $ compileProvider para obter mais informações.
ng-href
neste caso, ao invés de apenashref
: docs.angularjs.org/api/ng/directive/ngHref