What have you found for these years?

2007-08-25

IE 6/7 再見 XD

成功地徹底把 beast 修改成符合 XHTML 1.1, 要改的地方
其實還滿多的,最主要的應該是 mime-type 吧。rails 預設
輸出應該是 text/html, google 上找到個 plugin 可以讓
rails 在吃 xhtml 的 client 輸出 application/xhtml+xml,
而在不支援的地方輸出 text/html. 好像很美好,但那程式寫壞了。

edited: 看來是 beast 本身有對 xml 特別處理,這部份我要再改改看,
也許可以用更漂亮的解法,現在這樣有點詭異。

丟給 validator, 他居然還是吃到 text/html, 所以警告我
xhtml 1.1 需要使用 application/xhtml+xml, 而 firefox...
好慘啊,只會吃到一個奇怪的 xml 檔,而其他 browser 則看起來都正常。
ie 因為不方便試就沒有試了,我想應該也不會有問題才對。

我最後還是決定移除那個奇怪的 plugin... 然後重新尋找修改
mime-type 的方式。後來我才忽然想到,我不應該用 before_filter,
而應該用 after_filter 才對,因為是 monkey patch 嘛﹍
然後就成功把警告移除了。

不過我後來用 IE 6 去看,發現他根本不認得 application/xhtml+xml XDD
然後我很瘋狂地去找了 IE 7 去試發現他居然也不吃 @_@
隨便 google 了一下,發現這篇文章:
The <?xml> prolog, strict mode, and XHTML in IE

我沒有細看,因為我對 IE 不感興趣,只知道 IE 7 確實也不會支援這個,
那我就不管 IE 了 XDDD 反正,也只是個人的網站,是吧 :p
順便 deprecate IE 我覺得也沒什麼不好... 那讓人抓狂的 browser.
看看 IE 8 會不會對此有所改善,根據上文,也許會吧。

目前測試可用的是:
1. Firefox (include all gecko based browser)
2. Opera (其實這個某些地方還算蠻不錯的)
3. Safari (還有奇怪問題,晚點再看看要怎麼做)

然後我發覺用 xhtml 1.1 有個好處,就是他對什麼檢查都很嚴格,
當然這對 porting 來講是很痛苦的,但是只要一旦 port 過去,
整個網站就會變得很漂亮。(當然是指程式碼﹍﹍)我還因此抓到
好幾個 beast 寫錯的地方,例如某個 tag 沒有 end, 某個 id 寫錯。

xhtml 1.1 validator 真厲害,連 id 有沒有寫錯都會檢查,
這邊 id 寫錯可是有可能會造成 critical 且難以 debug 的問題呢。
因為一般 browser 容錯能力都太強了,這也代表著被誤解時,
真的是很難去辯解,對方的「先入為主」實在太強了。

希望網頁界大混亂的情況趕快結束,嚴格的標準是解救啊。要遵守當然痛苦,
但是後來是可以獲得很多好處的。

0 retries:

Post a Comment

All texts are licensed under CC Attribution 3.0