1. 程式人生 > >XHTML:非IE瀏覽器裡對style.height賦值無效的問題

XHTML:非IE瀏覽器裡對style.height賦值無效的問題

今天我在做多頁面MDI指令碼控制元件(MzMultiPage),在IE等瀏覽器裡都已經測試通過沒有任何問題,但是在Mozilla、Firefox、Netscape裡測試時問題就來了,我的多頁面是在頁面裡用到了 iframe,這些 iframe 初始的 style.height 都是0,而在載入頁面之後, iframe 就會自適應被載入的頁面高度,我是通過 iframe.style.height=300 這樣撐起 iframe 的高度,這樣處理在IE系列瀏覽器裡沒有任何問題,但在非IE瀏覽器裡死活行不通,通過跟蹤,發現根本沒有把這個 300 賦給 style.height,最後測試出來竟然必須給定賦值的單位,即 iframe.style.height="300px",這樣賦值才有效,沒有單位的賦值無效,鬱悶了我老半天!

  說明一下:我用的是XHTML的DTD,即在頁面頭上是:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">,也正是因為這個 XHTML1.dtd 才非IE瀏覽器裡的 style.height 有問題。

  另外透露一點知識:在Netsacpe裡的iframe,若通過設定 style.display="none" 隱藏這個 iframe 的話,會把通過指令碼動態寫入到 iframe 的HTML“沖掉”。所以在 Netscape 裡的 iframe 若有指令碼寫入HTML又需要動態隱藏/這個 iframe 的操作時建議你使用 style.width="0px"  style.height="0px"; 這樣的方式隱藏!