css因mime類型不符而被忽略的解決方法:1、偵測Link標籤;2、透過http協定的方式瀏覽頁面;3、手動設定伺服器環境。
本文操作環境:Windows7系統、Dell G3電腦、HTML5&&CSS3版。
IE瀏覽器「SEC7113: CSS 因 Mime 類型不符而被忽略」問題是什麼原因?怎麼解決?下面本篇文章就來跟大家介紹一下。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。
什麼是Mime類型?
MIME(Multipurpose Internet Mail Extensions)多用途互聯網郵件擴展類型就是設定某種擴展名的文件用一種應用程序來打開的方式類型,當該擴展名文件被訪問的時候,瀏覽器會自動使用指定應用程式來開啟。多用於指定一些客戶端自訂的檔案名,以及一些媒體檔案開啟方式。
為什麼會出錯?
在IE9以上的IE瀏覽器中,尤其是本地環境下,在沒有設定伺服器的環境下,會遇到外鏈的CSS檔案無法載入成功,而導致想要的效果沒有實現!當你遇到這樣的問題是,你在IE自備的調試工具裡的控制台裡會看到「SEC7113:CSS因Mime類型不符而被忽略」的錯誤提示。
微軟從IE9之後加入了檔案名稱識別的程序,這是在IE9以上的標準模式下才會出現的,在相容模式下就沒有問題。
【推薦學習:css影片教學】
解決方法
既然知道這個錯誤的原因,那麼我們就可以針對性的解決這個問題,以下包含了檢測的步驟和方法,你可以根據你實際的情況跳過某些步驟。
1、偵測Link標籤
Link標籤是我們引入樣式表的標籤,查看下是否缺少type=text/css屬性,完整的Link標籤範例。
<link rel=stylesheet type=text/css href="style.css">
如果你發現加上以後沒有效果,那麼接著往下看。
2、靜態頁面無法顯示樣式
其實很多人遇到這個問題都是在本地直接使用瀏覽器開啟網頁,也就是沒有透過http:協定的方式瀏覽頁面,而是透過file:協定開啟網頁。而CSS無法返回正確的Mime,可能由於你的系統的原因。
進入登錄編輯器,查看 HKEY_CLASSES_ROOT\.css 裡面的 Content Type 是否是 text/css。
3、伺服器環境無法顯示樣式
在伺服器環境中無法顯示樣式,不管是本機或遠端,解決的方法都是一樣的,既然伺服器不能回傳正確的文件類型,我們就需要手動配置。
IIS伺服器
對於IIS伺服器透過設定web.xml文件,要求伺服器輸出正確的CSS Mine資訊。
<mime-mapping> <extension>css</extension> <mime-type>text/css</mime-type> </mime-mapping>
Apache伺服器
當web伺服器想要瀏覽器發送文件時,它會為文件加上一個回應標頭作為前綴,此報頭包含了用於告訴瀏覽器如何解釋文件的數據,元數據的一個最重要的部分是最後一行中的Content-Type。它將告訴瀏覽器如何呈現內容。例如瀏覽器用於顯示 JPEG 和 GIF 的程式碼是不同的。
而這裡我們需要正確的設定CSS檔案的Content-Type,在Apache的安裝目錄下有一個conf資料夾,裡面的mime.types檔案就是回應標頭文件類型設定。
將程式碼新增到mime.types檔案中,然後重新啟動Apache伺服器。
text/css css
如果還是不行,試著加入程式碼到httpd.conf檔案中,載入mime.types設定檔。
<IfModule mime_module> TypesConfig conf/mime.types </IfModule>
以上是css因mime類型不符而被忽略怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!