2010-10-08 19 views
0

嘿,我正在測試這段代碼。該警報在IE中顯示結果,但不在Firefox中:如何讓dojo.style出現在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> 

爲什麼警報在FF中不顯示?

回答

1

我建議你閱讀你正在使用的函數的API文檔:http://www.dojotoolkit.org/api/dojo.html#dojo.getComputedStyle(注意:如果頁面跳轉到錯誤的位置,請關注地址欄並重新輸入,這似乎是一個不幸的副作用,效果目前在API頁面中...)

如上所述,使用getComputedStyle直接讓您處於特定瀏覽器的該功能實施的擺佈。在borderWidth的情況下,Gecko似乎自動將其擴展到borderTopWidth,隨後將borderWidth本身的值清空。

你可能遠在使用這個反而更感興趣的是:

dojo.style(o, 'borderWidth') 

將在這兩個瀏覽器返回10

+0

謝謝我會嘗試。 – Amen 2010-10-11 15:27:11

+0

那麼工作。下面是代碼: 獲取計算的邊緣寬度 <腳本類型=」文本/ JavaScript的」 SRC = 「http://o.aolcdn.com/dojo/1.3.2/dojo/dojo.xd.js」 djConfig = 「useXDomain:真」> <體的onLoad = 「doOnLoad();」>

I am myDiv
Amen 2010-10-11 15:41:32