Bonjour,
y a-t-il moyen de connaître la résolution de l'utilisateur, afin d'adapter l'image à afficher en fct de celle-ci ?
Bonjour,
y a-t-il moyen de connaître la résolution de l'utilisateur, afin d'adapter l'image à afficher en fct de celle-ci ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <A HREF="javascript:alert('Your resolution is '+screen.width+'x'+screen.height);"> Click for your screen resolution</A> <SCRIPT language="JavaScript"> <!-- if ((screen.width>=1024) && (screen.height>=768)) { window.location="highres.html"; } else { window.location="lowres.html"; } //--> </SCRIPT>![]()
Merci pour la réponse, mais encore une question d'ignare en javascript : comment puis-je copier une variable javascript ds une variable php (il n'existe pas de variable html, donc le traitement que j'envisage en fct de la résolution (choix d'une image de taille adaptée), je le ferai en php) ?
passe par un champs caché sur lequel tu affectes la valeur souhaitée![]()
d'apres ce que je connais, pas moyen de faire passer les variables de JS à PHP !!! Par contre tu pourrais insérer du JS à l'intérieur de ton code PHP.
et on se débrouille pour le reste
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <? if(empty($res)) { echo ' <script language="JavaScript"> document.location="page.php3?res=1&w="+screen.width+"&h="+screen.height; </script>'; } else { echo "Résolution d'écran : ".$w."*".$h; } ?>
bon courage
Je réponds à l'idée du formulaire : donc je mets un champ caché ainsi :
, mais ds value, je mets directement la variable js ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part <input type="hidden" name="de_js_vers_php" value="var">
non ...
avant le submit tu affectes la valeur de la variable a value du champs caché nuance /!\ :
coté js :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <input type="hidden" name="de_js_vers_php" id="de_js_vers_php" value="">
voila
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ... document.getElementById('de_js_vers_php').value = valeur souhaitée tonformulaire.submit();![]()
OK,
mais qu'est-ce que je mets à la place de tonformulaire.submit ?
Si tu veux juste renvoyer la résolution de l'écran, pas besoin de faire un formulaire, une redirection automatique sera mieux :
window.location='ta_page.php?w='+screen.width+'&h='+screen.height;
Juste une précision, w et h sont-elles des variables php, que ta_page.php connnaîtra ? (mais ds ce cas, elles devraient s'appeler $w et $h). Et de plus, bien que ne connaissant quasiment rien au js, ne manque-t-il pas +' pour transformer le codeen
Code : Sélectionner tout - Visualiser dans une fenêtre à part window.location='ta_page.php?w='+screen.width+'&h='+screen.height;
Code : Sélectionner tout - Visualiser dans une fenêtre à part window.location='ta_page.php?w='+screen.width+'&h='+screen.height]+';
Dans ta_page.php tu récupères les valeurs grâce à $_GET :
Et non il ne manquait rien à ma ligne de code javascript. '+' avec des chaines de caractères est l'opérateur de concaténation, si le client a une résolution de 1024x768, 'ta_page.php?w='+screen.width+'&h='+screen.height donnera ta_page.php?w=1024&h=768.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $client_screen_width=$_GET['w']; $client_screen_height=$_GET['h'];
Excuse ma nullité, mais le code ci-dessus (windows.location...), c'est bien un script javascript à inclure ds <SCRIPT language="JavaScript"> et </SCRIPT> ?
Merci,
j'ai fini par faire marcher ça tôt ce matin (vers 1h...). Il y a juste un endroit où je ne pouvais le faire : une de mes pages est l'action d'un formulaire et l'hébergeur (free) interdit qu'on y mette un fichier qui fasse une redirection... Donc du coup, ici, j'affiche une petite image quelle que soit la résolution.
J'ai une petite idée pour contourner ce pb : stocker les variables ds des variables de session, puis qd on appelle le formulaire, ressortir ces variables lors de l'action : le pb, c'est que qd je fais session_start, j'ai le droit à un warning ; est-ce possible de faire ça chez free ?
Partager