要在舊系統中加一個jquery外掛,本地demo測試沒問題,部署到伺服器後卻報錯。使用的是IE9瀏覽器,開啟F12除錯臺,發現預設的文件模式是IE7,調成IE9後,報錯消失。可以確認是該外掛不相容IE7造成的。
有一個重大的疑惑,明明是IE9瀏覽器,開啟後怎麼會預設是IE7模式呢?
很快,在我翻看舊系統的程式碼時,這個疑惑稍稍有點眉目,看到了這樣的一句:<meta http-equiv="X-UA-Compatible" content="IE=7" />,原來此標籤正是設定文件用IE7來解析,究其原因,是一個歷史問題。在IE8剛剛釋出還未穩定之時,有些網頁都不能正常顯示,於是眉毛鬍子一把抓,強制令其使用IE7來解析,已到達在IE8下正常顯示的目的,詳細請參考這裡。
為什麼說稍稍有點眉目呢?因為我想既然是這貨引起的,而且現在IE11都出來了,還要你有何干,直接刪掉!是哪個版本的IE就讓它用哪個版本來解析,這樣IE9下就會正常解析了。然而結果卻沒有按照我想的那樣出現。開啟網頁後預設的文件模式仍然是IE7!陰魂不散啊!我從網上搜了一下如何設定IE9預設文件模式,沒有找到滿意的。只有這一個同樣是眉毛鬍子一把抓的方法:<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" >,強制使用IE9!繼承古人的優良傳統。。。
開啟我的IE9,正常了!預設文件模式華麗麗的顯示為IE9 。good job!
等等,那如過我用的是IE8呢?夠不著所設定的版本會怎麼樣。來試一下,結果在IE8下會預設使用IE8文件模式,IE8挺挺聰明的嘛!
到這裡問題算是臨時解決了。但還是沒有從根本上解決。等將來IE12、IE13釋出的時候,難道再讓後輩一把抓?
拋磚引玉,歡迎大牛們指點。