Bonjour
Je travaille avec Window 8.1 Firefox 37.0.1 et avec un site sur pages perso Free
Ecran full HD 1920 pixels de large
La même instruction "screen.availWidth" me donne des résultats différents selon que je l'exécute en local ou en saisissant l'adresse du site chez Free, j'ai fait un code élémentaire (essai.html) qui permet de faire le test on peut le récupérer facilement en cliquant sur une des URL ci-dessous (sauf la locale évidemment).
Voila les résultats:
en local: http: //localhost/tests/essai.html me donne par période 1760 à d'autres moments 1920
sur site perso Orange: http://ninabel.pagesperso-orange.fr/essai.html ça donne 1920 (toujours bon)
sur site perso Free: http://rwebeasy.free.fr/essai.html ça donne 1440 (c'est toujours mauvais)
J'ai fait les mêmes test avec IE, les 3 tests donnent le même résultat: 2000 (supérieur à la largeur d'écran)
Ce qui m'intéresse c'est de faire fonctionner correctement Free avec Firefox (Free à cause du PHP et du SQL)
Tout se passe comme si Free calculait le nombre de pixels dans l'écran en prenant pour base une taille de pixel plus grande ce qui explique d'une part qu'il en trouve moins, d'autre part que quand j'affiche des mini-images de 150 pixels sur l'écran elles prennent plus de place.
Ce que j'ai du mal à comprendre c'est comment l'instruction "screen.availWidth" peut donner des résultats différents alors qu'elle s'exécute toujours sur le même micro (le mien) et dans le même Firefox (le mien) et les pages sources sont identiques !!!!
Sur un écran 1920 j'obtiens 1920 ok
en zoomant (ctrl + molette souris) j'arrive à 2400 mais pas toujours !!!
ce qui me fait penser que le script s'exécute trop tôt
Il faudrait mettre le script à la fin ou le déclencher sur le document.ready
pour le zoom il faut regarder du côté du viewport en réglant le zoom à 1
<meta content="width=device-width, initial-scale=1" name="viewport">
Pour les différences entre hébergeurs, je pense que tes pages ne sont pas identiques (par exemple, une n'a pas de doctype)
Bonjour,
d'après ce qie j'ai compris en cherchant sur internet, c'est normal que ces résultats soient différents suivant les navigateur car la méthode availWidth renvoie la taille du navigateur à l'intérieur (sans bordures, menus et autres éléments de l'interface du navogateur). Comme les bordures varient d'un navigateur à l'autre la taille interne du navigateur change aussi.
Pour récupérer la taille totale de l'écran tu peux faire :
var x = screen.width;
var y = screen.height;
Hugo
@hugopb82 en plein écran tous les navigateurs n'ont plus de bordure latérales, donc le résultat doit être le même.
Personellement les résultats sont corrects quelque soit le navigateur
@Arthur as-tu vidé le cache du navigateur ?
@Huggy il n'a dit qu'il était en plein écran... Mais moi aussi j'ai les mêmes résultats sur les 2 sites. En tous cas ça ne peux pas venir de l'hébergeur.
Merci pour les réponses, je n'ai pas répondu plus tôt car je viens de faire 800 bornes en voiture, voila je suis maintenant réinstallé et connecté à un autre fournisseur. Je viens de refaire les essais d'ici, pas de changement par rapport à ce que j'ai décrit dans le 1er message.
Concernant les questions que vous me posez:
en plein écran ou pas les résultats sont identiques
bien sûr que je vide le cache à chaque fois
par ailleurs si vous avez bien lu mon 1er message, le problème de fond ça n'est pas que quand je lance le code avec FF par son URL chez Free le résultat obtenu: 1440 indique que mon écran a été trouvé plus petit que ce qu'il est en réalité (1920), il a bien été trouvé de la même taille !! Seulement il a été mesuré avec des pixels plus gros !! Confer mon 1er message quand je dis que lorsque j'affiche une mini-image de 150 pixels de large avec le même code elle prend plus de place sur l'écran que si je lance le même code par son URL chez Orange (Orange dont le résultat pour availWidth est bon: 1920). A noter que si je lance le même code avec IE, l'image prend encore moins de place (le availWidth avec IE donne 2000) c'est assez logique puisque IE mesure mon écran avec des pixels plus petit que la réalité.
A ce propos vous me dites que chez vous quand vous lancez mon code de test essai.html avec FF vous obtenez un résultat identique quelque soit l'hébergeur, mais est-ce que ce résultat correspond à la taille réelle de votre écran et le lancement avec IE ou un autre navigateur donne-t-il le même résultat ?
Merci à vous
Le doctype n'a rien à voir, c'est quelqu'un qui m'avait dit d'essayer sans, ça n'avait rien changé puis du coup j'ai oublié de le remettre. Par contre tu as trouvé c'est bien un problème de zoom, ton action sur la molette qui fait monter le nombre de pixels m'a mis la puce à l'oreille.
Voila ce qui se passe après vérification: je lance d'abord essai.html en local ça m'ouvre une fenêtre FF avec le zoom à 100% et ça affiche 1920 c'est OK, je clique ensuite sur "+" pour ouvrir un nouvel onglet pour saisir l'url de Free (rwebeasy/...) ça affiche 1440 (mais ce que je n'avais pas vu c'est que ce nouvel onglet s'est ouvert avec un zoom à 133%), je clique encore sur "+" pour ouvrir un 3ème onglet pour saisir l'url d'orange (ninabel/...) ça affiche 1920 (et ce 3ème onglet s'est ouvert lui avec un zoom à 100% !!), j'avais fait de multiples fois ce test et j'ai toujours eu ces résultats là.
Quand par ailleurs je fais le test avec IE, je viens de m'apercevoir que IE se lance au départ avec un zoom à 96% ce qui explique les 2000.
Va savoir maintenant pourquoi le 2ème onglet s'est ouvert avec un zoom aussi important puis le 3ème avec un zoom normal ? Car effectivement si maintenant je prends la précaution de faire revenir le zoom du 2ème onglet à 100% c'est bon j'obtiens bien 1920 avec l'url chez Free !!
Ce qui est marrant, enfin si on veut, c'est que j'avais fait la même expérience sur le micro de ma compagne et j'obtenais le même phénomène, elle a un écran de 1600 pixels, chez Free ça affichait 1280 et chez Orange 1600, en fait maintenant je viens de constater que l'onglet avec l'url de Free s'ouvrait avec un zoom à 125% et le suivant à 100% !!!
Bizarre, en fait que ce soit moi ou ma compagne on manipule sur nos micros sans souris juste avec la pavé tactile et il arrive de manière alléatoire que par moment quand on est sous n'importe quel progiciel (Word, Messagerie,..) il y ait de manière intempestive selon comme on a glissé le doigt un effet de molette (zoom trop grand ou trop petit) difficile à rétablir quand le progiciel n'a pas d'onglet "Affichage" pour remettre le zoom à normal. Alors est-ce que ce serait un truc comme ça ? peut-être bien.
En tout cas merci encore d'avoir trouvé.
Pense à mettre le sujet en résolut pour que les gens tombent directement sur la réponse :)
Hugo