11550 sujets

JavaScript, DOM et API Web HTML5

Pages :
(reprise du message précédent)

matmat, j'avais essayé ça, mais c'est pas seulement une histoire longueur, sur IE 6 ou 7/win standard(vista, je sais pas), c'est document.documentElement qui marche et non pas document.body. C'est pour cela que j'ai mis la variable db citée plus haut Smiley cligne sinon, l'arriére plan, censé recouvrir la page, ne va pas j'usqu'en bas Smiley biggol
Voir la fonction pageDim dans le script.
Modifié par chmel (24 Apr 2007 - 00:36)
J'ai bien compris a quoi sert la variable db, ce que je te dit c'est que :

function getWindowSize(){
  var db=(document.documentElement.clientWidth)?document.documentElement:document.body;  
  var windowWidth = (window.innerWidth)? window.innerWidth : db.clientWidth;
  var windowHeight = (window.innerHeight)? window.innerHeight: db.clientHeight;
  return {'width': windowWidth, 'height': windowHeight};
}

c'est exactement pareil que :

var windowWidth, windowHeight;
	if (window.innerWidth) {	// all except Explorer
		windowWidth = window.innerWidth;
		windowHeight = window.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	

Modifié par matmat (24 Apr 2007 - 01:23)
sALUT MATMAT?
Le problème est la détecion correcte du mode quirk de ie:
if(document.documentElement.clientWidth==0)
, que j'ai simplifié en !document.documentElement.clientWidth, me semble la plus fiable. Comme tu l'a modifié, je doute que ça fonctionne.
Je referai des tests pour donner une réponse sure Smiley cligne
Si j'ai fait des test avec et sans doctype ainsi que sur ie 5.0 et 5.5 et ça marche trés bien. En fait c'est pareil, ça dit : connais-tu la méthode documentElement.clientWidth? si tu la connais db c'est égal a ça si tu la connais pas c'est document.body.

C'est pareil que ce que ta fais, qui est : tu connais pas la méthode Element? alors c'est body sinon c'est Element.

L'idée c'est de mettre la bonne valeur a db celon le doctype, que ce soit dans un sens ou dans l'autre.
Pages :