|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() |
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.
__________________
"Juste encore cette toute dernière petite question ..." (Columbo - Peter Falk) |
|
|
00
|
|
|
#2 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 007 ![]() |
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 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 ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() |
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.
__________________
"Juste encore cette toute dernière petite question ..." (Columbo - Peter Falk) |
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 860 ![]() |
pour IE, CHROME, SAFARI, OPERA, et tout autres navigateurs dignes de ce nom :
Code :
|
||
|
|
00
|
|
|
#5 |
![]() ![]() Inscription : janvier 2011 Messages : 2 933 ![]() |
|
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 860 ![]() |
|
|
|
00
|
|
|
#7 | ||||
|
Membre du Club
![]() |
Merci WillPower et NoSmoking pour votre réponse. On approche, en effet. Plus que deux "petit" points.
Pt1) Si le 'preferred language' paramétrisé dans le navigateur n'est pas trouvable, cette première page (Index.htm) doit offrir un petit menu permettant de choisir manuellement le language, et donc la page 'Home_<Lang>.htm qui doit suivre. Donc, dans le code Code :
Et que coder dans la troisième condition, pour permettre au 'body' de se construire, avec le petit menu de choix de langue ? Je rêve qu'il y va ici d'une requête intéressant vraiment beaucoup de dévelopeurs web ? Pt2) La page d'entrée (Index.htm) contient en fait aussi une petite 'auto-hiding pop-up modal window', n'apparaissant que les 5 premières secondes (Tinybox - JavaScript). Comment faire pour que la page Index.htm contenant le menu de choix de language (réglette Apycom - Javascript) se construise et se prépare tandis que l' 'auto-hiding pop-up modal window' apparaît ? Mais je pense que je ferais mieux de poser cette question dans une autre 'discussion' ... Au cas où le code complet de ma page Index vous serait utile ...: Code :
__________________
"Juste encore cette toute dernière petite question ..." (Columbo - Peter Falk) |
||||
|
|
00
|
|
|
#8 | ||
![]() ![]() Inscription : janvier 2011 Messages : 2 933 ![]() |
un simple
Code :
Perso je mettrais les différentes pages de langage différent dans des répertoires distincts... Pour le reste je dois admettre que je n'ai pas tout saisie..! |
||
|
|
00
|
|
|
#9 | ||
|
Membre du Club
![]() |
Hélas non, NoSmoking,
Je dois tenir quelque chose comme Code :
Si la langue du navigateur trouvée est différente de celles de mes pages programmées, je ne peux pas laisser effectuer une redirection mais il faut qu'apparaisse le menu de choix manuel de l'une des deux langues prévues. Comme il y a redirection seulement dans deux cas sur trois, le redirection ne peut pas se situer en HTML après le JavaScript : Code :
<meta http-equiv="refresh" content="4; URL=window.location.href"> Merci.
__________________
"Juste encore cette toute dernière petite question ..." (Columbo - Peter Falk) |
||
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() Tlouye Ci Inscription : mars 2004 Messages : 1 450 ![]() |
Un conseil tout de même : laisse la possibilité à l'utilisateur de changer de langue s'il le désire.
Personnellement ça me gonfle les sites qui me forcent à lire leurs pages dans une langue (qui n'est pas leur langue maternelle) parce que mon navigateur leur dit que je suis français et ne me laissent pas la possibilité de changer la langue du site (petit clin d'oeil à imdb). Pour ce qui est de la redirection en javascript, ça a déjà été dit plus haut par la plupart des contributeurs : |
|
|
10
|
|
|
#11 | ||
![]() ![]() Inscription : janvier 2011 Messages : 2 933 ![]() |
simplement...
Code :
PS : suit les conseils de Loceka |
||
|
|
00
|
|
|
#12 | |||
|
Membre du Club
![]() |
Merci, Loceka et NoSmoking.
Je cherche à mieux me faire comprendre : Code :
Citation:
J'essaye de ne pas mettre Code :
else window.location.href = 'Home_fr.htm'; // Default language Accessoirement : Y aurait-il un moyen de voir la valeur contenue dans 'langue' ? Loceka, Souvent, je préfère lire un site dans la langue de son auteur, également. Mais dans mon site, il n'y a que deux langues, toutes deux parentales. C'est parce que je n'aime pas non plus d'être forcé à lire des pages en Français parce que mon navigateur dit que je suis francophone, par exemple, qu'à tous les 'home_xx.htm' pages (ici 2), le menu contient un choix de langue (sélection manuelle). Mais avec ce subterfuge de détection automatique de language, je délivre quand même pas mal de visiteurs d'avoir à spécifier un language, au cas où le language de préférence de leur navigateur correspond à l'un des mes deux langages d'édition. Merci.
__________________
"Juste encore cette toute dernière petite question ..." (Columbo - Peter Falk) |
|||
|
|
00
|
|
|
#13 | |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 806 ![]() |
Citation:
Code :
<meta http-equiv="refresh" content="4; URL=window.location.href"> Une balise HTML n'interprète pas le JavaScript...
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
|
00
|
|
|
#14 |
|
Membre du Club
![]() |
Bonjour Bovino.
Attention, je n'ai jamais dit qu'une balise HTML interprète le JavaScript ... ! J'ai "simplement" besoin de trouver une instruction équivalente à Code :
<meta http-equiv="refresh" content="4; URL=window.location.href"> Code :
{ window.location.href = 'Home_' +langue +'.htm'; Dans la fenêtre 'Code:' de mon intervention du 23/04/2011, 16h14, la ligne 10 doit disparaître. J'ai beau retourner mentalement mes formulations dans mes précédentes parties de cette discussion, je ne vois pas en quoi j'étais ambigu ... Merci.
__________________
"Juste encore cette toute dernière petite question ..." (Columbo - Peter Falk) |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com