IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Choix de page sur base de 'Preferred Language' du navigateur


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 263
    Par défaut Choix de page sur base de 'Preferred Language' du navigateur
    Bonjour.

    1) J'ai un Internet Service Provider (ISP) qui exige que dans l'espace qu'il me réserve pour uploader mon website, il y ait obligatoirement une page "index.html" (comme unique première page).
    2) Je ne veux pas qu'un habitué à mon site doive à chaque entrée à une première page, exécuter le choix "Choisissez votre language".
    3) Je souhaite éviter d'utiliser un cookie propre à mon site, du fait que trop de visiteurs n'aiment pas cela et les bloquent même.
    4) Mon site web ne comporte que deux pages. En deux langues --> 4 pages. Elles existent. --> Pas d'application cette fois de la technique d'internationalisation.
    5) Mon ISP n'offre aucune possibilité de 'Server-side scripting' (JSP-JSTL, PHP, ...)
    6) J'ai un peu d'expérience en Javascript, jQuery, Java2SE, JSP-JSTL ... mais pas en ASP, .Net, ...

    Je pense à une première page (index.htm) appelant une deuxième une fraction de seconde après être téléchargée, c à d dès que la langue de l'utilisateur a été automatiquement détectée par un code JavaScript.

    On se figure que le 'preferred language' est en fait déjà mémorisé ...
    - au niveau du navigateur (Mozilla Firefox : Via menu : Tools > Options > Content > Languages)
    - pour les pages de Google, dans 'Paramètres de recherche' (Tout en haut, tout à droite)
    - au niveau de l'OS de Microsoft.

    L'article que j'ai trouvé et qui se rapproche le plus de mon objectif est http://weblogs.asp.net/scottgu/archi...microsoft.aspx. Il m'apprend que :
    - La meilleure méthode pour découvrir la langue préférée de l'utilisateur est de trouver la valeur du paramètre 'Accept-Language' du navigateur (Un tag du style fr-BE, nl-BE). 'Accept-Language' est notamment à préférer à 'windows.navigator.browserLanguage' et 'window.navigator.language'.
    - "whenever the user requests a page, this language preference is included in the 'Request' in the Accept-Language header."
    - "Strangely, you cannot retrieve the value of the Accept-Language header from client JavaScript." Horreur et damnation ! Q1: Est-ce bien vrai (depuis ...) ? Une fonction de base pourtant aussi universellement intéressante !

    Je comprends donc que tout navigateur est à même d'aller puiser la valeur pour le header 'Accept-Language' au moment de composer le 'Request' à envoyer vers le serveur ... mais qu'aucun code JavaScript, jQuery ... d'une page en provenance du serveur n'est capable de faire la même chose, à la différence de mettre la valeur plutôt en variable de JavaScript, et donc indirectement accessible par le code html.
    Cela aurait permis que l''href=' contienne l'url d'une page de langue x plutôt que de langue y.

    Q2: Où trouver solution à et exemple de ce problème, résolu ?

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    il est stocké ou le preffered language ? mémorisé oui mais dans un cookie ?

    si oui à l'ouverture de ta page index un script qui recupère le pl dasn le cookie et fait une redirction ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 263
    Par défaut
    Merci pour ta réponse, SpaceFrog.

    1) Je demande justement quels sont les nom exact et l'endroit où les navigateurs stockent un(e liste de) tag(s) tel que 'fr-CA' (= preferred language).
    2) Je voudrais savoir s'il existe un code JavaScript trouvant un tel tag (ou le premier de la liste) dans tout navigateur et le passant à une variable accessible au niveau html.
    Le fait que le mécanisme de création d'un Request existe pour tout navigateur, qui passe un tel tag au paramètre 'Accept-Language', constitue pour moi un espoir que c'est faisable, d'extraire de quelque part le 'preferred language' ...

    Tout cela pour éviter d'utiliser un enregistrement en cookie propre à mon site web ...

    Et ensuite de baser une redirection vers une des N pages , en fonction de la valeur de ce paramètre JavaScript --> htlm.

    Merci d'avance.

  4. #4
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Par défaut
    pour IE, CHROME, SAFARI, OPERA, et tout autres navigateurs dignes de ce nom :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(navigator.language.substr(0,2)=="fr")
      window.location.href = "fr-home.htm";
    else
      window.location.href = "en-home.htm";
    et pour FIREFOX... ben heu ...

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Citation Envoyé par Willpower Voir le message
    et pour FIREFOX... ben heu ...
    navigator.language convient aussi pour FireFox si je ne m'abuse.

  6. #6
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Par défaut
    Citation Envoyé par NoSmoking Voir le message
    navigator.language convient aussi pour FireFox si je ne m'abuse.
    au temps pour moi


    je teste toujours mes réponses sur ma panoplie de navigateurs avant de les proposer... et j'ignore pourquoi mais tout à l'heure, je n'avais pas langage sous mon firefox.

Discussions similaires

  1. Réponses: 7
    Dernier message: 27/11/2014, 09h07
  2. Projet de création de page : Sur quelle base partir ?
    Par solorac dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 02/09/2009, 14h25
  3. transfert choix multiple sur base
    Par Ludwik dans le forum VBA Access
    Réponses: 6
    Dernier message: 08/06/2007, 16h01
  4. [VB6] [ADO] Like sur base Access
    Par dlpxlid dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 24/01/2003, 11h03
  5. Réponses: 2
    Dernier message: 03/10/2002, 17h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo