2013-01-23 35 views
1

我從fontsquirrel.com爲我們客戶的網站之一生成了一個@ font-face工具包。我們的網站運行在分段(http)和實時(https)服務器上。該網站建立在.NET@ font-face無法在IE8中加載

我遇到的問題是該字體不加載在IE8上。它在IE9,Chrome,Firefox和Safari中運行良好。是

我所採取的步驟如下:

  • 使用由所述客戶機提供
  • 複製字體文件到資產夾.TTF字體文件使用所產生的在CSS文件
  • 引用字體文件生成試劑盒@font-face代碼(下)
@font-face { 
    font-family: 'font-name'; 
    src: url('../../fonts/font-name-webfont.eot'); 
    src: url('../../fonts/font-name-webfont.eot?#iefix') format('embedded-opentype'), 
     url('../../fonts/font-name-webfont.woff') format('woff'), 
     url('../../fonts/font-name-webfont.ttf') format('truetype'), 
     url('../../fonts/font-name-webfont.svg#font-name') format('svg'); 
    font-weight: normal; 
    font-style: normal; 
} 

我一直在研究可能的解決方法並,到目前爲止,嘗試以下失敗:

  • 重新生成所述字庫
  • 檢查了所有必需的MIME類型在Web.config中
  • 設置經過了FONT-FAMILY規則被拾起在IE中使用的開發工具
  • 經過申報不被覆蓋在其他CSS文件
  • 新增下載字體套件測試到臨時服務器和測試IE8

說明:
我上傳到暫存服務器的測試在IE8上工作正常。這將暗示它要麼是與服務器相關的,要麼是我們CSS中存在某些不妥之處。不過,我99%確定我排除了CSS中的任何可疑內容。

任何幫助將不勝感激!

+2

特別是因爲您懷疑這是服務器相關的,發佈URL是非常重要的。使用真實的字體名稱並識別字體的來源也會更好。根據給定的信息,問題似乎是不可分析的。 –

+0

恐怕我們無法發佈網址 - 該網站尚未投放。該網站使用[Umbraco](http://www.umbraco.com)(這應該沒有區別),但HTML和CSS都很正常; CMS沒有做任何可能會弄亂他們的事情。 –

+0

您說現場網站使用的是https,您是否在現場服務器上嘗試過測試,或者在使用SSL的臨時測試上進行過測試? – graham

回答

2

首先,我會檢查字體文件是否真的被提供。它可能像一個相對路徑不正確一樣愚蠢 - 雖然在這種情況下我懷疑它。使用此工具,如CharlesFiddler。這些工具應始終是第一個檢查文件是否按預期方式提供服務的端口。

我還會檢查擴展/ MIME類型是在網站的配置中還是在IIS的配置中設置的。

+0

mime類型都設置正確,我很確定我們的路徑是正確的,因爲其他瀏覽器正在拉字體。不過請小提琴手 - 我會立即檢查。希望我們的測試(上面提到)會給我們提供一個線索。謝謝! –

+0

我也會檢查你在哪裏設置了項目結構中的CSS。 Umbraco使用ClientDependency庫來緩存由站點提供的某些文件,包括設置_within_ Umbraco本身的CSS。如果CSS獨立於Umbraco,那麼這不會成爲問題。 – Digbyswift

+0

問題的確在於.eot文件未加載。 .csproj中的.eot文件的構建操作默認設置爲「無」,而不是「內容」,所以自然不會加載。接受答覆,非常感謝! –