我刚刚意识到fetch
在默认情况下不会发送Accept-Language
头,因此我打算添加它。但是,我没有遇到任何方法来获取浏览器应生成的字符串。
例如,在我的浏览器中,所有普通请求都具有一个不错的Accept-Language值:
en-US,en; q = 0.9,ja; q = 0.8,vi; q = 0.7,la; q = 0.6
我的问题可以通过以下任一方法解决:
fetch
?navigator.languages
?目前,我正在使用这种方法,但是我做了
它自己,并且不确定是否过大/不好。我宁愿使用
尽可能采用内置方式。var getAcceptLanguageValue = () => {
// Assume there are less than 10 languages
let q = 1;
return navigator.languages
.slice(0, 10)
.map(l => `${l};q=0.${10-q++}`)
.join(",");
};
我得到的结果显然并不相同:
en-US; q = 0.9,en; q = 0.8,ja; q = 0.7,vi; q = 0.6,la; q = 0.5