11497 sujets

JavaScript, DOM et API Web HTML5

Bonjour, voilà mon problème,

Je développe une app' en html pour mobile. Sur la page d'accueil, j'utilise un peu de javascript et de jquery pour calculer des valeurs de positionnement de certains éléments en fonction de la largeur et de la hauteur de l'écran et je fait tout ça dans un:


$(document).ready(function(){
var display_width = document.documentElement.clientWidth;
var display_height = document.documentElement.clientHeight;});


Lors du premier chargement de la page, tout va bien.
Je clic ensuite sur un lien de cette page, j'arrive donc sur une seconde page, tout va bien.
Sur cette seconde page, je clic sur un bouton qui possède la fonction suivante:

onclick="history.back()"


Ce bouton me ramène donc à la page d'accueil, tout va bien.
Et là c'est le drame, l'affichage et tout cassé car les valeurs retournées par document.documentElement.clientWidth et document.documentElement.clientHeight sonc complètement farfelues.

A noter que ceci se produit sur un Galaxy S avec Android 2.3.5, mais que ça fonctionne très bien sur un Nexus 4 avec Android 4.2.2.

Help!

PS: Je viens de constater que le Galaxy S renvoie la première fois comme valeur 320px et 533px (donc les bonnes valeurs de device-width et device-height) alors qu'au second chargement après appuis sur history.back, il renvoie comme valeurs 480px et 800px, soit les valeurs de width et height (cf ce site: http://mobitest.me/devices/)
Modifié par somonflex (13 Jun 2013 - 13:47)