举个例子:http://jsfiddle.net/lesouthern/y3pXn/ 对于此过滤器:
.filter('telanchor',function() {
return function(s) {
var rString = '';
if(typeof s !== 'undefined' && angular.isString(s)) {
rString = 'tel:+' + s.replace(/\D/g,'');
}
return rString;
}
})
它在Angular 1.0.3中正确过滤到此字符串:
<a href="tel:+5103381927">Tel Number</a>
在1.0.7中,它生成:
<a href="unsafe:tel:+5103381927">Tel Number</a>
我怎么不生成这个'不安全'字符串?
谢谢
答案 0 :(得分:1)
Angular似乎认识到你的href是不安全的。 在配置块中尝试这样的事情:
angular.module('module').config(['$compileProvider', function ($compileProvider)
{
$compileProvider.urlSanitizationWhitelist(/^\s*(https?|ftp|mailto|file|tel):/);
/* The regular expression will match your "unsafe"
link format and add it to the whitelist */
}]);
以下是更详细的说明:unsafe link in angular