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 に答える