您需要使用正则表达式将 URL 协议显式添加到 Angular 的白名单。只有http
,https
,ftp
并mailto
默认启用。角将前缀与非列入白名单的URLunsafe:
使用的协议,例如当chrome-extension:
。
将chrome-extension:
协议列入白名单的一个好地方是在module的配置块中:
var app = angular.module( 'myApp', [] )
.config( [
'$compileProvider',
function( $compileProvider )
{
$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|chrome-extension):/);
// Angular before v1.2 uses $compileProvider.urlSanitizationWhitelist(...)
}
]);
当您需要使用file:
和等协议时,同样的过程也适用tel:
。
有关更多信息,请参阅 AngularJS $compileProvider API 文档。