je la page Web suivante:
Une page web grand avec seulement une barre de défilement vertical et horizontal sans barre de défilement. Le document et la fenêtre ont donc la même largeur.
Lorsque je demande IE8 pour $(document).width()
, il renvoie la largeur de la fenêtre, y compris la barre de défilement verticale. FF renvoie la bonne réponse. Pour cette raison, je ne peux pas utiliser $('body')
, car il renvoie la même largeur que l'objet fenêtre (il est défini à 100% en quelque sorte, donc cela ne fonctionne pas lorsque la page est plus petite).
Comment puis-je faire de la sortie IE8 la bonne valeur? Merci d'avance.
MISE À JOUR
En fait, je fait quelques tests plus à mon problème. et j'ai trouvé que lorsque la barre de défilement horizontale devient visible aussi (à cause d'une fenêtre plus petite), IE8 obtient la bonne taille. Donc, cela rend mon problème encore plus compliqué parce que je ne peux pas mettre un if(IE8)
-hack laid.
MAJ2
Le problème réside dans mon CSS et jQuery. Le cas réel semble être le problème: Mon dit css:
body
{
overflow-y:scroll;
}
IE8 ne compte pas dans le cadre du corps, mais IE7 fait. Comment régler ceci? Appelez jQuery pour un correctif?
duplication possible de [clientHeight/clientWidth renvoyant des valeurs différentes sur différents navigateurs] (http://stackoverflow.com/questions/833699/clientheight-clientwidth-returning-different-values-on-different-browsers) –
La réponse de le message ci-dessus est: utilisez jQuery. Ce qui ne résout pas mon problème pour le moment. – Marnix
J'ai ajouté un ticket à jQuery. J'espère qu'ils peuvent réparer celui-ci pour moi. – Marnix