IE9 CSS因Mime類型不符而被忽略問題相關解答

來源:互聯網
上載者:User

寫頁面的時候在chrome,fireforks等頁面上顯示正常,但是換成IE9之後就完全沒有樣式了。IE真是個奇葩的怪胎。它的報錯資訊是’CSS 因 Mime 類型不符而被忽略‘,也就是說所有的.css檔案全部都不起效果了。去網上查了一些資料,有很多與這個問題相關的回答。

首 先要明白Mine類型是個什麼。MIME類型就是設定某種指定副檔名的檔案用一種應用程式來開啟的方式類型,當該副檔名檔案被訪問的時候,瀏覽器會自動使 用指定應用程式來開啟,多用於指定一些用戶端自訂的檔案名稱,以及一些媒體檔案開啟檔案。與之相關主要的是web.xml檔案。web.xml 是網路程式中的一個很重要的設定檔。當啟動一個WEB項目的時候,WEB容器會去讀取它的設定檔web.xml,讀 取<listener>和<context-param>這兩個結點。

而在IE9的新安全機制中,要求網頁伺服器返回的http 頭資訊中content-type必需寫明css檔案的MIME-type為'text/css',否則IE9不會將它作為css檔案來處理。如果想要 ie9也能正確的顯示css檔案定義的樣式,需要修改伺服器端返回給用戶端的css檔案的http header頭資訊中對應的mime類型。

如何修改返回的css MIME資訊:

修正css 檔案的返回mime資訊有不同方法,一是修改伺服器配置或者伺服器程式,對於css檔案輸出正確的mine頭資訊。這個要對iis設定進行操作,對於自己的伺服器來說可行,但對於使用虛擬機器主機的站長來說就不是和容易做到了,這裡就不細說了。

另一種另類方法是,通過配置web.xml檔案,要求伺服器輸出正確的css mine資訊。

在web.xml加入內容:
 

複製代碼代碼如下:
<mime-mapping>
<extension>css</extension>
<mime-type>text/css</mime-type>
</mime-mapping>
相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.