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