Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
976 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  DOM et screen.width / screen.height

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

DOM et screen.width / screen.height

n°1004819
zamm
Posté le 08-03-2005 à 14:28:43  profilanswer
 

Bonjour tout le monde !
 
Est-ce que quelqu'un sait pourquoi screen.width et screen.height fonctionnent sous IE mais pas sous FF ? Question de DOM différent entre FF et IE ? Plus exactement, screen.width me renvoie toujours la même valeur (800), que je sois en 800x600 ou en 1024x768 alors que IE me renvoie la bonne valeur à chaque changement.
 
Merci !
Z.

mood
Publicité
Posté le 08-03-2005 à 14:28:43  profilanswer
 

n°1004828
FlorentG
Posté le 08-03-2005 à 14:34:42  profilanswer
 

Je sais pas si screen est un objet valide du DOM :heink:

n°1004829
FlorentG
Posté le 08-03-2005 à 14:34:58  profilanswer
 

Tu veux faire quoi exactement ?

n°1004839
zamm
Posté le 08-03-2005 à 14:37:53  profilanswer
 

J'esssaye d'adapter la taille d'un div dans une feuille de style en fonction de l'écran sur le client. Un petit script charge la bonne feuille de style en fonction d'un test sur screen.width et screen.height. Ca marche sous IE, mais sous FF, il reste toujours dans la définition la plus petit (document.write de screen.width = toujours 800).
 
Voili voila.
Z.

n°1004840
FlorentG
Posté le 08-03-2005 à 14:38:33  profilanswer
 

Pas pourquoi tu donne pas des dimensions en pourcentage alors :??:

n°1004862
zamm
Posté le 08-03-2005 à 14:44:44  profilanswer
 

J'ai essayé, ça fait pas génial au niveau graphique au niveau de tout ce qu'il y a dedans, j'ai des tailles précises pour chaque dimension, à savoir height: 500px pour un 768x1024 et height: 335px pour un 600x800.
 
Z.

n°1004868
FlorentG
Posté le 08-03-2005 à 14:46:25  profilanswer
 

Ouch... Le problème de la solution en JS, c'est que chez 9% des gens, ça va pas marcher :/

n°1004876
zamm
Posté le 08-03-2005 à 14:48:48  profilanswer
 

Ben j'ai pas trop le choix...
Pour info, le bout de code dans le head :
 
--------------------------------------
<script language="javascript">
<!--
var x=screen.width;
var y=screen.height;
document.write("<link rel=\"stylesheet\" href=\"" );
 
if (x==800 && y==600) {
    if (menu==0) {document.write("inc/s800x600m0.css" )} else {document.write("inc/s800x600m1.css" )};
    } else {
    if (menu==0) {document.write("inc/s1024x768m0.css" )} else {document.write("inc/s1024x768m1.css" )};
  };
 
document.write("\" type=\"text/css\">" );
//-->
----------------------------------
 
Z.

n°1004889
FlorentG
Posté le 08-03-2005 à 14:53:31  profilanswer
 

Ah ben plusieurs erreurs...

  • L'attribut 'language' n'existe pas. Faut utiliser <script type="text/javascript'>
  • document.write n'existe pas en XHTML, il faut utiliser des fonctions DOM genre document.createElement("link" )
  • T'as des caractères genre '<' dans ton script, alors qu'il n'est pas dans une section CDATA -> erreur


Message édité par FlorentG le 08-03-2005 à 14:55:45
n°1004896
FlorentG
Posté le 08-03-2005 à 14:56:30  profilanswer
 

Pour le problème de résolutions, 2 sec (ma précédente réponse a été postée pensant que c'était un autre topic :D)

mood
Publicité
Posté le 08-03-2005 à 14:56:30  profilanswer
 

n°1004899
FlorentG
Posté le 08-03-2005 à 14:57:30  profilanswer
 

Article sur quirksmode.org expliquant le biniou :)

n°1004909
cerel
Posté le 08-03-2005 à 15:00:23  profilanswer
 

Et si la personne a un ecran en 1600x1200, tu crois qu'il surf en plein ecran... J'en doute, il risque de surfer en mode fenetre, et sa fenetre n'aura pas forcement une taille "standard".
 
Le mieux reste l'utilisation des pourcentages.

n°1004913
zamm
Posté le 08-03-2005 à 15:01:54  profilanswer
 

Pour le 3e point, je suppose que tu parles de <!-- et //-->, pour les commentaires. Je remplace par quoi ?
Et puis autre question : est-ce important de rester dans les spécifications d'une section CDATA puisque le html n'est pas déclaré comme un xml dans l'en-tête (<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> ) ??
 
Pour le reste, j'ai remplacé document.write par document.createElement et language="javascript" par type="text/javascript", et ça ne marche plus : il m'écrit dans le html le nom de la feuille de style comme si c'était du texte, et non du html, et forcément la feuille de style n'est pas chargée.
 
Z.

n°1004923
FlorentG
Posté le 08-03-2005 à 15:04:16  profilanswer
 

Si ça marche plus, c'est qu'il y a un problème. Sinon si t'es en HTML 4.01, pas de probs pour les CDATA, tu peux laisser les commentaires normaux :)

n°1004933
zamm
Posté le 08-03-2005 à 15:08:07  profilanswer
 

J'ai remis document.write, et là ça remarche, je suppose qu'en HTML 4.01 c'est ça qu'il faut utiliser pour ce que je veux faire.
Par contre, ça ne résoud pas le pb de screen.width, quand je l'affiche sous FF, ne change pas de valeur quand je modifie la def écran, alors que IE change bien à chaque fois...
 
Si tu veux jeter un oeil : http://zoneproweb.free.fr (il s'agit du cadre central qui contient les rectangles rouges et les photos), c'est surtout sur la hauteur qui reste toujours la même, que ça& se voit.
 
 
Z.
 
Z.

n°1004940
FlorentG
Posté le 08-03-2005 à 15:10:44  profilanswer
 

Mouaip, plusieurs erreurs encore en fait. Genre les résolutions 640*480 se tapent la feuille 1024*768, pas cool ;)

n°1004958
zamm
Posté le 08-03-2005 à 15:20:14  profilanswer
 

J'ai lu l'article Article sur quirksmode.org, j'ai pas tout compris (c'est quoi "viewport" ?)

n°1004959
FlorentG
Posté le 08-03-2005 à 15:21:06  profilanswer
 

Ouch, si tu pige pas l'anglais, laisse tomber le développement :D

n°1004972
zamm
Posté le 08-03-2005 à 15:23:39  profilanswer
 

Non, c'est pas l'anglais le pb !
Mais pour le pb qui me concerne, les spec CSS2 sur la hiérarchie des éléments... D'ailleurs je ne sais toujours ce qu'est viewport.
A+
Z.

n°1004984
FlorentG
Posté le 08-03-2005 à 15:26:23  profilanswer
 

En fouillant sur la page donnée, tu peux trouver normalement self.screen.width et self.screen.height. Si ça marche pas, c'est qu'il y a un problème quelque part :(

n°1005016
zamm
Posté le 08-03-2005 à 15:36:49  profilanswer
 

Yep, j'ai tenté le coup (d'utiliser self.screen.height au lieu de screen.height), les symptomes sont toujours les mêmes (OK sous IE pas sous FF).
 
Bon bon... "Ya un problème..."

n°1005319
masklinn
í dag viðrar vel til loftárása
Posté le 08-03-2005 à 15:55:21  profilanswer
 

le "Viewport", c'est la surface d'affichage.
En clair, c'est la zone que le browser dédie à l'affichage des pages web, donc la partie blanche quand aucune page n'est chargée (le browser moins les barres de status/menu/... et sans les scrollbars)

n°1005496
zamm
Posté le 08-03-2005 à 16:13:29  profilanswer
 

Yes... je vois.

n°1006060
omega2
Posté le 08-03-2005 à 21:42:32  profilanswer
 

Pourquoi ne pas tout mettre en pourcentage?
Tu erfuse le % pour les div par ce que leur contenu est en taille fixe. Alors passe le reste en % et tu pouras faire de même pour les div.
J'ai toujours été impressionné par le nombre de personnes qui commencent par dire "j'ai pas trop le choix" mais qui finissent par tester autre chôse une fois qu'ils en ont chié pendant des jours sans arriver à régler leur probléme.
Pour moi, la solution la plus compliqué n'est pas souvent la meilleure.
Enfin, bon, zamm c'est à toi de voir ce que tu préfaires tenter. ;)


Message édité par omega2 le 08-03-2005 à 21:42:43
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  DOM et screen.width / screen.height

 

Sujets relatifs
Mettre une image de fond derriere un tableau DOM[DOM/XML/PHP] & dans texte = erreur de parsing
Petit script utilisant DOM[DOM/JavaScript] Traiter les tableaux d'éléments de form?
Implementations de XPath et DOMdocumentations DOM
DOM pour firefox et ie6Espace indésirable avec width sous IE
XSLT, DOM : fonction nextSibling()marquee et ie?! + width dans les tableau +ie
Plus de sujets relatifs à : DOM et screen.width / screen.height


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR