Javascript Inits

/* * ALL INVISIBLE ADS */ OpenDrive

2010年5月3日 星期一

Javascript - 設定 Style Float

 努力了老半天,IE 中 Style 的 Float 在 Javascript 的控制,一直發生不了作用?救助股溝大神才發現,原來是 IE Float 的屬性名稱和別人不同,真的很吐血!試了 Firefox、Chrome、Opera、Safari 都好好的,就只有 IE 與眾不同。上 W3C 查了一下,果然是微軟標新立異。喂!老頭用的可是最新的 iE8 耶,竟有這斯荒唐。相信這已經浪費全球程式設計師不少生命,真應該集體向微軟進行索賠!

 W3C 建議:Javascript Float 屬性名稱為 [cssFloat],但 IE 只認得 [styleFloat]。因此,在設定 Float 時,需要一段小程式來進行判斷;為了達到通用性,直接分析屬性名稱存在與否,會比讀取瀏覽器種類或其它方式更佳。以下是參考函式:

(( function set_float(style,float)
 {
  if (style.{{cssFloat}} != undefined) {
   style.{{cssFloat}} = float;
  } else
  if (style.{{styleFloat}} != undefined) {
   style.{{styleFloat}}=float;
  }
 }))

 微軟真是一家奇怪的公司,好端端的硬是要特立獨行;不過,老頭覺得這有可能不是故意的,也許是品管程序上有瑕疵,或產品定義的疏失。不過,從其它廠商的角度來看,這也是另類商機;試想:如果微軟真把軟體寫的無懈可擊,加上它的財大氣粗,那麼其它瀏覽器存活的空間就不大了,您說對吧!

沒有留言: