İki dili destekleyen bir web sitem var. Chrome anahtarlama dilleri harika çalışıyor, ancak Firefox'ta hangi düğmeyi tıklattığımı farketmez, "ingilizce" veya "almanca" dil için her zaman dil değişkenimi varsayılan olarak ayarlanmış Almanca dil için ayarlardeğişen dil Firefox'ta çalışmıyor
Birisi yardımcı olabilir Bu sorunu çözmek için bana
burada böyle bir şey de onload işlevine ajax isteği koymak gerektiğini düşünüyorum ben getLangCookie fonksiyonunu
var lang = getLangCookie('lang');
console.log('lang = ', lang);
$.ajax({
type: "GET",
url: '/menu.xml',
dataType: "xml",
success: function (xml) {
$(xml).find('description ' + lang).each(function() {
$(this).parent().html($(this).html());
}
);
var menu = [];
var data = $.xml2json(xml)['#document'];
that.menu = data.menu;
console.log('menu = ', that.menu);
}
}
);
function getLangCookie(lang) {
var name = lang + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1);
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
// by clicking on English button set the cookie value
function onEnglishbtn() {
setLangCookie("lang", "en", 30);
document.location.reload();
var lang = getLangCookie('lang');
return lang;
}
function setLangCookie(lang, value, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
var expires = "expires=" + d.toGMTString();
document.cookie = lang + "=" + value + "; " + expires;
}
// function onload from index.html setting up the lang by default
window.onload = function() {
setLangCookie("lang", "de", 30);
if (typeof window.localStorage !== "undefined" && !localStorage.getItem('visited')) {
localStorage.setItem('visited', true);
setLangCookie("lang", "de", 30);
}
}
Çerez değerini nerede değiştirirsiniz? –
Sadece ana yazıya bir işlev ekledim – Christian
Firefox çerezi devre dışı bırakıyor mu? – VinhNT