2010-10-08 3 views
0

Hey, je testais ce code. L'alerte affiche le résultat dans IE, mais pas dans Firefox:Comment faire pour que dojo.style apparaisse dans Firefox

<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
    <title>Get computed border width</title> 
    <script type="text/javascript" src="http://o.aolcdn.com/dojo/1.3.2/dojo/dojo.xd.js" djConfig="useXDomain:true"> 
    </script> 
    <script> 
     function doOnLoad(){ 
      var o = dojo.byId("myDiv"); 
      alert(dojo.getComputedStyle(o).borderWidth); 
     } 
    </script> 
</head> 
<body onLoad="doOnLoad();"> 
    <div style="border-width:10px" id="myDiv"> 
     I am myDiv 
    </div> 
</body> 
</html> 

Quelle est la raison pour laquelle l'alerte ne diplaying en FF?

Répondre

1

Je vous conseille de lire la documentation API de la fonction que vous utilisez: http://www.dojotoolkit.org/api/dojo.html#dojo.getComputedStyle (remarque: si la page saute au mauvais endroit, faites la mise au point de la barre d'adresse et appuyez de nouveau sur Entrée. Comme cela est dit, l'utilisation de getComputedStyle vous laisse directement à la merci de l'implémentation de cette fonction par le navigateur en question. Dans le cas de borderWidth, Gecko semble l'étendre automatiquement à borderTopWidth et ainsi de suite, masquant ensuite la valeur de borderWidth elle-même.

Vous êtes probablement beaucoup plus intéressés à utiliser cette place:

dojo.style(o, 'borderWidth') 

qui retournera 10 dans les deux navigateurs.

+0

Merci, je vais essayer. – Amen

+0

Eh bien cela a fonctionné. Voici le code: Obtenir frontière calculée largeur

I am myDiv
Amen

Questions connexes