Google 後發現,jQuery 1.8.1 以後就不支援 Quirks Mode 了。
嗯,先了解一下什麼是 Quirks Mode,維基百科這麼說,嗯,有看沒有懂,再翻成中文看一次,有點概念,到底能不能講人話啊。
最後得到的理解是:
- 相對於 Quirks Mode,有一個 Standard Mode(標準模式)。
- Standard Mode 指的是瀏覽器完整支援 HTML/CSS,而 Quirks Mode 則是在標準出現以前,或者說 HTML/CSS 成為標準以前,各家瀏覽器各自表述的情形。
- 然後當 HTML/CSS 成為標準,且各家瀏覽器開始完全支援時,在這之前已經開發的網頁怎麼辦?
- 瀏覽器為了向前相容,所以切成兩種模式,也就是 Standard Mode 與 Quirks Mode。
- 遇到舊的網頁就用 Quirks Mode 顯示,遇到新的網頁就用 Standard Mode 顯示。
- 那怎麼區分新舊網頁呢?加上 DOCTYPE 就是新網頁,預設就會用 Standard Mode 顯示,舊的網頁沒有 DOCTYPE 就會用 Quirks Mode 顯示。
- 沒有加上 DOCTYPE 的網頁被舊版 IE 以 Quirks Mode 顯示。
- 然後不小心用了新版的 jQuery。
- 所以$(window).width()與$(window).height()都回傳 0。
- 改用 jQuery 1.8.1 以前的版本。
- 為網頁加上 DOCTYPE,記得要加在網頁的最最最前面,在 DOCTYPE 之前不能有任何字元,不然貼心的 IE 就會自動進入怪異模式(Quirks Mode)。
<!DOCTYPE html> <html>...</html>---
---
---
沒有留言:
張貼留言