Détection de résolution d'écran via JS

Résolu
Bonjour,

Je planche sur ce problème depuis quelques heures...

J'aimerais que selon la résolution de l'écran affichant mon site, une autre feuille de style soit utilisée.

J'ai donc trouvé un script permettant cela:


<script type="text/javascript">  

function getcss(cssfile){  

loadcss = document.createElement('link')  

loadcss.setAttribute("rel", "stylesheet")  

loadcss.setAttribute("type", "text/css")  

loadcss.setAttribute("href", cssfile)  

document.getElementsByTagName("head")[0].appendChild(loadcss)  

}  

if(screen.width=640)  

{  

getcss('small.css')  

}  



else if(screen.width>=640)  

{  

getcss('index.css')  

}  

</script>


Sauf qu'avec ce code, ma page utilise tout le temps "small.css".

Et si je modifie simplement les signes < > et = pour en arriver à ce code:


<script type="text/javascript">  

function getcss(cssfile){  

loadcss = document.createElement('link')  

loadcss.setAttribute("rel", "stylesheet")  

loadcss.setAttribute("type", "text/css")  

loadcss.setAttribute("href", cssfile)  

document.getElementsByTagName("head")[0].appendChild(loadcss)  

}  

if(screen.width<640)  

{  

getcss('small.css')  

}  



else if(screen.width>=640)  

{  

getcss('index.css')  

}  

</script>


C'est l'inverse qui se produit: pour n'importe quelle résolution, seule la page "index.css" est utilisée...

J'ai essayé d'autres scripts dans le genre, mais aucun n'a l'air de fonctionner sur ma page...
J'ai tout vérifier 10 fois, je ne comprend pas pourquoi ces scripts marchent pour tout le monde sauf moi ><

Help *_*

3 réponses

  1. Merci!

    Effectivement un simple:


    <LINK rel="stylesheet" type="text/css" 
    	 media="screen and (min-width: 640px)" href="index.css">
         <LINK rel="stylesheet" type="text/css" 
    	 media="screen and (max-width: 639px)" href="small.css">


    suffit ^^"

    J'ai cherché trop compliqué T_T

    Bonne après-midi =)
    1. En fait ça fonctionne... sauf sous IE T_T

      Une solution pour IE?
      1. Modérateur
        Même avec la version 9 ?
      2. Aucune idée, j'ai XP, donc IE9 pas possible x)
      3. Modérateur
        Ha, ben sois tu oublie les navigateurs inférieure à IE9 parce qu'IE, c'est la grosse merde. ;-)

        Sois tu crée un CSS pour les navigateur pas compatible avec media query.
      4. Ah mais je suis du même avis que toi sur IE x)
        Mais j'essaie de faire en sorte que mon site soit compatible avec le maximum de navigateurs et de résolutions...
        Et vu qu'il y a toujours des gens (même s'ils ne sont plus très nombreux) qui utilisent IE..
        Et je le déclare comment ce CSS?