0

用这个例子: 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>

如何不生成此“不安全”字符串?

谢谢你

4

1 回答 1

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

于 2013-09-04T03:14:03.393 回答