Javascript 使用UTF字符时角度转换清除失败
在Angular 1.3.x上使用Angular translate的最新版本。使用Javascript 使用UTF字符时角度转换清除失败,javascript,angularjs,sanitization,angular-translate,Javascript,Angularjs,Sanitization,Angular Translate,在Angular 1.3.x上使用Angular translate的最新版本。使用$sanitize直接使用过滤器或服务时似乎有问题,但在使用指令时有效 建议 以下是一个例子: var myApp=angular.module('myApp',['pascalprecht.translate','ngSanitize']); myApp.config(函数($translateProvider){ $translateProvider.useSanitizeValueStrategy(“消毒
$sanitize
直接使用过滤器或服务时似乎有问题,但在使用指令时有效
建议
以下是一个例子:
var myApp=angular.module('myApp',['pascalprecht.translate','ngSanitize']);
myApp.config(函数($translateProvider){
$translateProvider.useSanitizeValueStrategy(“消毒”);
$translateProvider.preferredLanguage('en');
$translateProvider.translations('en'{
UTF:‘戥戥’,
});
});
控制器(“myCtrl”,函数($scope,$translate){
$translate(“UTF”)。然后(函数(trans){
$scope.UTFCTRL=trans;
});
});代码>
错误:{{'UTF'| translate}}
好 啊:
错误:{{UTFCTRL}}
目前,您有两种选择:
使用策略sanitizeParameters
,该策略将仅清理动态参数,而不会清理实际翻译(模板)。如果可以控制转换(但不能控制动态值),这将起作用
使用策略escape
(或escapeParameters
),该策略不使用消毒,而是使用逃逸
免责声明:我将共同维护
编辑(12.01.2016):我创建了。如中所述
使用sce解决了这个问题
$translateProvider.useSanitizeValueStrategy("sce");
这是一个用于翻译筛选器的WONTFIX,至少::')(我对筛选器和服务都有问题。通过问题1011找到了这一点,感谢您的解决方案和插件!使用sanitize
作为策略,UTF-8字符在与translate=“KEY”一起使用时似乎有效
attribute。这是因为当使用translate指令时,sanitize不起作用……甚至html标记也起到了类似的作用usual@knalli:很好的矩阵,但似乎null
策略与'sce'具有相同的效果one@knalli@LucasCimon关于Lucas对策略的评论null
和sce
行为e在矩阵中也是一样。我看到从1.2版开始,AngularJS默认支持SCE。因此,这可能就是为什么null
和SCE
工作相同的原因。是吗?