欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

jQuery获取 (查看) 浏览器语言 有大用

<button onclick="chk_userlanguage();">查看浏览器语言</button>


var chk_userlanguage = function () {
if (navigator.userLanguage) {
baseLang = navigator.userLanguage.substring(0, 2).toLowerCase();
} else {
baseLang = navigator.language.substring(0, 2).toLowerCase();
}
console.log(baseLang);
switch (baseLang) {
case "de":
return 'German';
break;
case "en":
return 'English';
break;
case "ja":
return 'Japanese';
break;
case "zh":
return 'Chinese';
break;
default:
return '其它语言';
}
}


来自  https://blog.csdn.net/yuhuiyuhuiyuhuiyuhui/article/details/105771085



jQuery浏览器语言检测


脚本

我需要创建一个页面(仅限客户端)来检测浏览器使用的语言,并显示与该语言相关的相应类元素,并隐藏其他语言.

英语将是默认语言,因此如果数组中没有任何单元格匹配,则会显示.

我正在使用navigator.languagenavigator.userLanguage(IE)值来检测浏览器当前使用的语言.

我目前有一些正在进行中的代码,但我不确定最好的方法来整合所有潜在的可能性,然后使用数组选择它们.

还有一种语言与一个国家联系在一起的可能性.比如说英语作为一个例子有en-us,en-uk等.我怎么把这个绑在一起?

HTML

<ul class="text">
    <li class="en active">English: Some text in english</li>
    <li class="fr">French: Some text in french</li>
    <li class="de">German: Some text in german</li>
    <li class="it">Italian: Some text in italian</li>
    <li class="ja">Japanese: Some text in japanese</li>
    <li class="es">Spanish: Some text in spanish</li>
</ul>

JS(WIP)

var userLang = navigator.language || navigator.userLanguage,
    countries = ['fr', 'de', 'it', 'ja', 'es'],
    languagues = ['fr', 'de', 'it', 'ja', 'es'];

if (userLang === "fr") {
    $('li').removeClass('active');
    $('.fr').addClass('active');
}

小提琴

感谢您的时间.


UPDATE

为了提供对我有用并最终帮助未来用户的完整解决方案,我使用了HTML上面相同的布局并将其与putvande的jQuery解决方案相结合.

这是一个有效的例子.

注意:此效果会根据为浏览器选择的语言触发更改.有关如何在Google Chrome中执行此操作的示例:

  • 转到设置 - >

  • 向下滚动并单击"显示高级设置..." - >

  • 单击"语言和输入设置..." - >

  • 然后选择您想要的语言,单击"完成"并重新启动浏览器.

我希望这有帮助.


put*_*nde  21


您可以将其拆分navigator.language为两个并仅使用第一个参数(语言)并使用它来选择li具有该类的那个:

var userLang = navigator.language || navigator.userLanguage;

// Check if the li for the browsers language is available
// and set active if it is available
if($('.' + userLang.split('-')[0]).length) {
    $('li').removeClass('active');
    $('.' + userLang.split('-')[0]).addClass('active');
}

或者你也会li根据国家改变(例如美国和英国的英语)?


来自  https://qa.1r1g.com/sf/ask/1282213481/


普通分类: