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 ?
Version imprimable
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 ?
:DCode:
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 :DCode:
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:<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:<input type="hidden" name="de_js_vers_php" id="de_js_vers_php" value="">
voila :)Code:
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 codeenCode:window.location='ta_page.php?w='+screen.width+'&h='+screen.height;
Code: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:
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> ?
ouip
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 ?