对于国际化支持,我编写了从#lang-select
下拉列表更改 URL 的代码。代码是
$(document).ready(function(){
var sel = document.getElementById('lang-select');
sel.onchange = function(){window.location.replace($('#lang-select').val());};
});
上面的代码工作正常,它将 URL 从 更改http://0.0.0.0:3000/fr
为http://0.0.0.0:3000/en
。现在我想保留更改后的值,但没有成功。我已经写了下面的代码。我不知道为什么它是错误的/不起作用。
function langSelect(){
var available_languages = {
"en":"English",
"de":"Deutsch",
"ru" :"Россию",
"fr" : "Française"
};
var languageInUrl= document.URL.split("/")[3];
for(var shortLanguage in available_languages){
if(shortLanguage === languageInUrl) {
var langaugeOptionArray = $("#lang-select>option");
for(var i = 0 ; langaugeOptionArray.length > i ; i++){
if(langaugeOptionArray[i].label === available_languages[shortLanguage]){
langaugeOptionArray[i].selected = true;
return;
}
}
}
}
}
请告诉我上面的代码有什么问题,因为我所做的不是新事物,请分享克服这种情况的最佳实践。
目前,我正在使用后端来完成此任务。