è necessario aggiungere esplicitamente protocolli URL alla lista bianca di angolare utilizzando un'espressione regolare. Solo http
, https
, ftp
e mailto
sono abilitati per impostazione predefinita. Angular inserirà come prefisso un URL non inserito nella whitelist con unsafe:
quando si utilizza un protocollo come chrome-extension:
.
Un buon posto per whitelist il protocollo chrome-extension:
sarebbe nel blocco di configurazione del modulo:
var app = angular.module('myApp', [])
.config([
'$compileProvider',
function($compileProvider)
{
$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|chrome-extension):/);
// Angular before v1.2 uses $compileProvider.urlSanitizationWhitelist(...)
}
]);
La stessa procedura si applica anche quando è necessario utilizzare protocolli quali file:
e tel:
.
Vedere AngularJS $compileProvider API documentation per ulteriori informazioni.
fonte
2013-04-02 16:51:10
Tenete a mente che si dovrebbe usare ' ng-href' in questo caso piuttosto che solo 'href': https://docs.angularjs.org/api/ng/directive/ngHref – hartz89