该localeCompare()
函数在 Firefox 扩展主代码和 web worker(或 chrome worker)中的行为不同。
例如,在主代码中,我有以下代码:
var array = ["École", "Frère", "frère", "école"];
array.sort(function(a, b) {
return a.localeCompare(b);
});
console.log('Main: ' + array);
表明:
Main: �cole,�cole,Fr�re,fr�re
哪个是正确的排序(编码不是我的问题)。
在工人中,我有以下代码:
var array = ["École", "Frère", "frère", "école"];
array.sort(function(a, b) {
return a.localeCompare(b);
});
self.postMessage(array);
它打印:
Frère,frère,école,�0cole
这是错误的顺序(再一次,编码不是我的问题)。
主代码中的排序是好的,但不是 web worker 中的排序。
我试图更改localeCompare()
web worker 中函数的选项,但它并没有改变任何东西。
为什么 web worker 中的排序不同以及如何在 web worker 中正确排序?
(由于某种原因,我无法将数据发送到主代码,进行排序并将其发送回网络工作者。我仍然得到错误的顺序(给我école,�0cole,Frère,frère
)。)
谢谢你的帮助。