IE相容模式 魔鬼還是天使?

2021-08-04 21:19:43 字數 1706 閱讀 6991

每當我接到**或者是pm和我說:「那個***版型怎麼跑掉了」或者說:「那個***的頁面連線(ajax 連線)怎麼點下去頁面只顯示圖和文字而其他部份都不見了」?通常我會問兩個問題:你是不是用ie?請問你的ie版本是多少?通常來說,對方都是使用ie,而如果使用的是ie7,我只能在心理吶喊:「天哪、拜託可不可以公升級或換瀏覽器啊」然後用客氣的口吻把心理想的和對方溝通。如果不能換,那我只能拿掉一些比較新技術的東西,例如ajax、css3等。不過有時候我會遇到對方用的是比較新的ie,ie8以上,但是對方再使用**會有問題,例如,點下ajax連線竟然直接顯示ajax內容而不是更新到頁面某乙個位置,或者css整個跑掉,甚至頁面空空的因為瀏覽器看不懂某個js framework。這些其實讓我頭痛了不久,因為在我電腦同樣的ie明明就不會啊?後來我終於找到了解法,也終於弄懂到底是怎麼一回事,原來是ie的「相容模式(compatibility view)。(如果對接下來內容不感興趣,或者急需知道答案,請直接捲到最後)。

在早起ie8之前,那個時候ie瀏覽器還屬於比較獨大的情況,那個時候他有很多東西是和網路的standard不太一樣。譬如他有自己才看的懂得自定義tag。作為那個時代,很多**都是以那個時候的ie作為目標瀏覽器去寫的網頁。隨著時間的進步,微軟意識到自己搞自己的是不行的,需要跟web standard一樣,慢慢的以前那些舊的只屬於ie有的東西就在新的ie裡面沒有了。但是為了以前瀏覽器而設計的**要怎麼辦?他們就處於很尷尬的局面,因為如果不支援很多舊**除了會跑版以外最要命是有些功能都會有問題。為了解決這個問題,微軟在ie8以後很佛心的加入了所謂的相容性模式,也就是能夠在舊的**使用相容性模式瀏覽,而一切正常,而到比較新的**就用正常模式瀏覽。聽起來很棒,有問題的舊**使用ie 相容模式,新**使用正常模式。但是這個有乙個前提,那就是使用者要知道相容性模式的意義和如何切換假設今天我用相容性模式瀏覽乙個比較新的**,會發現有很多問題。首先,很多jquery的東西都會怪怪的,像ajax就不起作用了,或者一些js ui framework就完全毀掉了。那你或許會說,就不要開相容性模式不就好了?但問題是很多使用者不知道這個,而你和他介紹他也不一定聽得懂。而最大的問題是,相容性模式這個東西是可以設定說一直開啟。在一些公司裡面,相容性模式是預設開啟的,意味著他們瀏覽很多網頁都是處於那種狀態,而使用者不一定知道如何把它關掉。微軟在

這一篇有提到關於如何解決相容性問題。他說,首先網頁一定要設定doctype,如果不設定,就會以quirks mode(ie5)瀏覽。但問題是如果使用者設定使用相容模式瀏覽,就算有doctype他也會以相容模式瀏覽,那該怎麼辦?微軟因此說我們可以加乙個metatag告知要使用的ie版本,而也是使用這個就能夠強制不要使用相容模式瀏覽。

那個「ie=edge」表示使用目前ie最新的正常模式去瀏覽。當然,你也可以指定要使用哪乙個版本的ie去瀏覽。我在網路上搜尋的時候,發現有些人會在最後面加上chrome=1,變成:
好奇的去搜尋了一下,發現到

stackoverflow也有人問了相同問題,才發現原來chrome有乙個ie add on叫做chrome frame,而作用就是在ie內使用chrome來顯示頁面,這樣老舊的ie就可以瀏覽一些新的頁面也不出問題,而那個chrome=1就表示如果有裝,就啟用。其實微軟弄出相容模式還滿聰明的,不過就像人們常說的:「有一好,就沒有兩好」,它帶來的衍生問題如果沒有遇到過還真不知道為什麼頁面會出問題。不過,現在網路發達,基本上都可以搜尋的到,這一篇只是我自己的總結而已。via:alantsai

天使還是魔鬼?都是我們製造

劇透請原諒,有興趣的朋友可以自己看看電影,互相討論哦!自己挑了兩部先看了看,但是發現看完之後,心裡久久不能平靜,但並不是因為電影多麼的驚險刺激,而是對於一些東西有了自己的新的看法。於是乎打算將之記錄下來。這些其實只是這部電影所反映出來的自己的理解,其中還包括很多對電影中主人公的一些心理的理解,這裡就...

IE 相容模式

早期的瀏覽器,ie 獨大。這也就導致其很多東西和w3c 的標準有很多不一樣的地方。譬如他有自己才看的懂得自定義tag。乙個熟悉的名詞 瀏覽器大戰,形象的刻畫了這期間發生的事情。ie 的佔用量逐步下降,firefox 和chrome異軍突起,要不是 在windows 系統,真不知道ie 是否早就消亡了...

IE相容模式

每當我接到 或者是pm和我說 那個 版型怎麼跑掉了 或者說 那個 的頁面連線 ajax 連線 怎麼點下去頁面只顯示圖和文字而其他部份都不見了 通常我會問兩個問題 你是不是用ie?請問你的ie版本是多少?通常來說,對方都是使用ie,而如果使用的是ie7,我只能在心理吶喊 天哪 拜託可不可以公升級或換瀏...