Maison > interface Web > js tutoriel > Comment puis-je détecter de manière fiable la préférence de langue du navigateur d'un utilisateur à l'aide de JavaScript ?

Comment puis-je détecter de manière fiable la préférence de langue du navigateur d'un utilisateur à l'aide de JavaScript ?

Linda Hamilton
Libérer: 2024-12-11 06:51:10
original
697 Les gens l'ont consulté

How Can I Reliably Detect a User's Browser Language Preference Using JavaScript?

Détection des préférences de langue du navigateur à l'aide de JavaScript

La détection de la langue préférée de l'utilisateur dans un navigateur Web est essentielle pour personnaliser l'expérience utilisateur. Cependant, différents navigateurs disposent de différents mécanismes pour définir les préférences de langue.

Dans Internet Explorer, la langue préférée peut être configurée dans Outils > Options Internet > Général > Langues. Cependant, accéder à ce paramètre à l'aide de JavaScript reste un défi.

De même, dans Firefox, la langue préférée est définie dans Outils > Options > Contenu > Langues. Pendant que navigator.langue récupère la langue définie dans Démarrer > Panneau de configuration > Options régionales et linguistiques > Options régionales, il ne parvient pas à détecter le paramètre spécifique au navigateur.

Après avoir étudié ce problème, il a été découvert que les paramètres de langue préférés du navigateur n'affectent pas la propriété navigator.langue de JavaScript. Au lieu de cela, ils modifient l’en-tête HTTP « Accept-Language ». Cependant, JavaScript n'a pas d'accès direct à cet en-tête.

Pour relever ce défi, une solution de contournement a été développée. Le script Google App Engine sur http://ajaxhttpheaders.appspot.com renvoie les en-têtes de requête HTTP à l'aide de JSONP. En utilisant ce script, le code jQuery suivant peut être utilisé pour récupérer la langue préférée :

$.ajax({
    url: "http://ajaxhttpheaders.appspot.com",
    dataType: 'jsonp',
    success: function(headers) {
        language = headers['Accept-Language'];
        nowDoSomethingWithIt(language);
    }
});
Copier après la connexion

De plus, un plugin jQuery a été publié sur GitHub pour simplifier cette fonctionnalité : https://github.com/ dansingerman/jQuery-Browser-Language

Pour référence ultérieure, le code App Engine utilisé pour cette solution de contournement est disponible sur https://github.com/dansingerman/app-engine-headers.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal