2015-04-17 66 views
11

我一直在使用字體真棒圖標一段時間,但在從外部公司進行一輪錯誤跟蹤後,他們發現字體真棒圖標在某些情況下不顯示。在Safari和iPad中不顯示字體真棒圖標

字體真棒的版本是4.3.0

版本不是從外部公司工作: iPad4(的iOS 7.1.2) 的Safari 8.0.2在Mac OS在Mac 10.10.x Safari瀏覽器7.1.2在Mac OS X操作系統10.10.2 10.9.x 的Safari 7.1.4和8.0.2 Safari瀏覽器版本8.0.3(10600.3.18)(14C109) 的iPad 2的空氣與iOS 8.0.3

我們內部有測試日期: Safari 8.0.2

問題序列1 - 登錄網站 - 圖標可見 - 註銷,關閉瀏覽器,刪除所有網站上的數據,重新登錄 - 現在

沒有圖標/平方

問題序列2 - 登錄網站 - 圖標不可見/正方形存在

網站在自己的專用服務器上,使用燈。不會發生在FF,Chrome甚至IE上。

如果任何人有相同的問題或知道解決方案,請協助。我們查看並嘗試了大約10種不同的東西,即源代碼訂購,更新CSS,使用網站鏈接等。

+0

我也有這個問題,好奇如果你有任何進展。我已經嘗試過自己託管它和maxcdn版本... – Kevin

+0

我們得到了同樣的問題,http:// stackoverflow。com/questions/30193615/icon-font-are-rendered-as-squares-on-subsequent-visits-in-safari-ios-and-osx – Kristoffer

+0

我已經打開了Apple的支持服務單,但到目前爲止他們只需要更多信息沒有任何關於問題的反饋。 – Kristoffer

回答

2

我們確實找到了一種方法,但這只是一種臨時解決方案。它可能會有所幫助。我們檢測瀏覽器版本,Safari和通過字體面內嵌:

<?php 
    //ugly workaround for fontawesome issue in Safari 
    $ua = $_SERVER["HTTP_USER_AGENT"]; 
    $safariorchrome = strpos($ua, 'Safari') ? true : false; 
    $chrome = strpos($ua, 'Chrome') ? true : false; 
    if ($safariorchrome == true AND $chrome == false): 
    ?> 
    <style type="text/css"> 
     @font-face{font-family:'FontAwesome';src:url('/css/current-font-awesome/fonts/fontawesome-webfont.eot?v=4.3.0');src:url('/css/current-font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.3.0') format('embedded-opentype'),url('/css/current-font-awesome/fonts/fontawesome-webfont.woff2?v=4.3.0') format('woff2'),url('/css/current-font-awesome/fonts/fontawesome-webfont.woff?v=4.3.0') format('woff'),url('/css/current-font-awesome/fonts/fontawesome-webfont.ttf?v=4.3.0') format('truetype'),url('/css/current-font-awesome/fonts/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal} 
    </style> 
    <?php endif; ?> 
7

我是有在Mac OSX(約塞米蒂)+的Safari 8.0.8和各種iOS 6的設備同樣的問題。我的目標是在IIS Web服務器上本地託管的Font Awesome 4.2.0。

奇怪的是,我發現後綴字體真棒CSS庫的路徑與高速緩衝存儲器解決了問題。例如

font-awesome.min.css?v=1234 

我不明白爲什麼這將是必要的,但到目前爲止它似乎工作。

+0

我認爲這是一個最近的問題。它可以在桌面chrome,ipad上運行。但會在我的iphone上顯示廣場。如上所述的緩存版本重置固定它。 –

+0

邪惡簡單但有效的解決方案。偉大的思想。 – pimbrouwers

3

<link href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.3.0/css/font-awesome.css" rel="stylesheet" type="text/css" /> 把這段代碼放到你的<head> </head>文件中,它會沒事的。我猜想蘋果公司需要一些safari簽名。

1

我們面臨同樣的問題。材質圖標在除iPad以外的其他瀏覽器中加載完美。它第一次加載,並隨後加載,顯示文本而不是圖標。嘗試所有的解決方案,如自我託管,調用谷歌API和CDN。沒有爲我們工作。任何幫助將不勝感激。但是當你刷新頁面時,圖標被加載..

解決此問題的方法是在窗口加載期間以及在iPad上強制重新加載頁面。這應該可以解決問題。

var isTabLoaded = sessionStorage.getItem("isTabLoaded") == "true"; 
      var isUserBrowserIPad = navigator.userAgent.indexOf('iPad') > -1 
      if (!isTabLoaded && isUserBrowserIPad) { 
      window.location.reload(); 
      sessionStorage.setItem("isTabLoaded", "true"); 
      };