Javascript 根据客户机向主体添加一个类';s语言

Javascript 根据客户机向主体添加一个类';s语言,javascript,jquery,Javascript,Jquery,我想根据客户端的浏览器语言更改网页的主体类: var lang = navigator.language || navigator.userLanguage; if (lang == "en") { $("body").addClass("en"); } 这将根据用户浏览器语言显示某些容器 添加此代码的最佳位置是什么?我应该将它添加到$(document.ready()还是$(window.load()?或者在打开车身容器之后?任何帮助都将不胜感激。因为您正在通过添加类来操作dom。如

我想根据客户端的浏览器语言更改网页的主体类:

var lang = navigator.language || navigator.userLanguage;
if (lang == "en") {
    $("body").addClass("en");
}
这将根据用户浏览器语言显示某些容器


添加此代码的最佳位置是什么?我应该将它添加到
$(document.ready()
还是
$(window.load()
?或者在打开车身容器之后?任何帮助都将不胜感激。

因为您正在通过添加类来操作dom。如果您使用的是jquery的DocumentReady,那么就可以了。香草JS。最好将其放置在事件DOMContentLoaded上

似乎您希望尽快执行此操作。如果您正在显示/隐藏基于语言的容器,我怀疑对于您的用户来说,最好的用户体验是看到与他们无关的语言闪现

不管你想怎么做都可以,但我会把这个JavaScript放在执行速度最快的地方(
head
tag,也许?)


一旦HTML应用于DOM,就会应用CSS,因此用户不会看到不相关的内容。但是,如果您正在等待
onload
等,则可能会出现这种情况。

根据处理语言选择的事件,将类添加到正文的事件应始终在翻译文本的事件之前

您也可以使用这种方法,因为代码具有语义意义,因此易于维护

$(window).bind('setup', function() {
    var lang = navigator.language || navigator.userLanguage;
    if (lang == "en") {
        $("body").addClass("en");
    }
});
文件中的

$(document).ready(function() {
    $(window).trigger('setup');
    //functionality to manage translations
});
一个工作示例

定义“最佳”。这两种方法都可以,那么什么标准最适合你呢?