作者Kenqr (夏天的微笑)
看板Browsers
標題Re: 剛剛測到一個 bug...
時間Tue Jul 21 03:30:44 2009
※ 引述《tyf99 (呵呵)》之銘言:
: http://tyf.nckualumni.org.tw/~tyf/browser_bug/
: 我試了 IE6, IE7, Firefox3, WebKit, Safari4, Chrome, Opera9.1...
: 好像只有 IE 的結果是正確的,怎麼會這樣?
幫你把網頁的bug修好了
http://ken75113.miroko.tw/browser_bug/browser_bug.htm
打包下載
http://tinyurl.com/m2ze4t
我用Firefox的Html Validator套件檢查網頁 總共找到7個warning
修到剩1個warning後 Firefox和Opera都可以顯示你想要的效果了
只有Google Chrome的外框還是不會縮回去
剩1個warning無法修好 是因為iframe根本沒有onload事件可以用
(
http://www.w3.org/TR/html401/present/frames.html#edef-IFRAME)
既然在iframe中使用onload本來就是錯誤的語法
當然就不能期待各家瀏覽器都能跑出你想要的結果了
IE的容錯能力很好 也因此造成很多網頁設計者寫出錯誤的網頁
因為他們在IE上測試過沒問題後 就以為網頁是正確的了
結果網頁設計者把錯誤的語法當成對的
使用其他瀏覽器看網頁的人也必須忍受錯誤的語法造成的錯誤排版
可以說IE的容錯能力也是造成IE-Only網頁橫行的主因之一
寫網頁的時候 不要以IE做為主要的測試工具
建議用其他非IE核心的瀏覽器做測試 寫到一個階段再用IE測
否則很可能語法有錯也找不出來
另外還可以利用輔助程式來找出語法的錯誤
語法正確的話 就能大幅少各家瀏覽器顯示結果不同的情形了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.84.49
推 jtmh:照理講容錯能力好應該是個優點,可是卻造成網頁設計者寫出 IE 07/21 05:50
→ jtmh:only 的網頁,這樣是要怪誰? 07/21 05:51
→ abccbaandy:IE:怪我囉? 07/21 08:53
→ tyf99:不好意思,我用 Mac 很久了,一直以來都是用 Safari 07/21 09:38
→ tyf99:iframe onload 非 W3C 標準我知道,但連 Joomla 官方都在用 07/21 09:39
→ tyf99:觸發改 height 也只有 onload 比較有效率,想避也避不開. 07/21 10:00
推 Hemiola:我沒有仔細試,但應該有別的辦法做得到,不一定要 onload 07/21 11:54
→ ileadu:更正確的來說 不用iframe 可得到一樣的效果.. 科科 07/21 12:22
→ emethxyz:JS不行嗎? 07/21 13:22