Firefox, Font Awesome web yazı tipi kümesinden simgeler oluşturamaz


20

Firefox'ta (Windows 7), Font Awesome paketinden çağrılan simgeler ve glifler düzgün görüntülenmez. Bunun bir örneği Khan Academy web sitesinde görülebilir. Videonun altında simgeler içinde onaltılı kod bulunan kutular olarak gösterilir. Bu, Firefox tarafından indirilmediği anlamına gelir.

Simgeler Firefox'ta nasıl görünür?

Chrome (Windows 7), Safari (Mac OS X) ve Paslanmaz (Mac OS X) üzerinde nasıl görünür:

Simgelerin diğer tarayıcılarda nasıl göründüğü

Bu sorunun nedenini açıklayabilecek yığın taşması üzerinde buldum - CSS yazı tipinin src konumunu içine almak için tek tırnak kullanır. Ancak, Khan Academy sunucularına yazma erişimim yok, bu yüzden gerçek web sitesini değiştiremiyorum. Bunun Firefox'ta düzeltilip düzeltilemeyeceğini ve nasıl yapılacağını bilmek istiyorum. Bu yardımcı olursa Greasemonkey komut dosyalarını çalıştırabilirim. Yazı tipini manuel olarak indirmeyi ve Windows 'Fonts klasörüne eklemeyi denedim, ancak bu yardımcı olmuyor.

Başvuru için, bu yazı tipini ayarlayan CSS (Firefox tarafından düzgün işlenmemiş):

@font-face
{
  font-family:'FontAwesome';
  src:url('./fontawesome-webfont.eot');
  src:url('./fontawesome-webfont.eot?#iefix') format('embedded-opentype'),
      url('./fontawesome-webfont.woff') format('woff'),
      url('./fontawesome-webfont.ttf') format('truetype'),
      url('./fontawesome-webfont.svg#FontAwesome') format('svg');
  font-weight:normal;
  font-style:normal
}

[class^="icon-"]:before,
[class*=" icon-"]:before
{
  font-family:FontAwesome;
  font-weight:normal;
  font-style:normal;
  display:inline-block;
  text-decoration:inherit
}

Güncelleme: Firefox'un Font Awesome paketinin web sitesinde (yukarıda bağlantılı) yazı tipi tabanlı simgeleri doğru bir şekilde gösterdiğini buldum. CSS'nin incelenmesi ve Khan Academy'nin CSS'si ile karşılaştırılması üzerine, KA'nın CSS'sinin son özelliğinden sonra noktalı virgül olmaması dışında (sıkıştırılmış gerçeğini yoksayarsanız) her iki kodun da tamamen aynı olduğunu görüyorum . Noktalı virgül eksikliği bu soruna neden oluyor mu?


2
Birisi bu soruyu kapatmak için oy kullandı. Nedenini bilmek istiyorum. Bu sorunun Süper Kullanıcı (bilgisayar sorunlarıyla ilgili yardım almak için bir web sitesi) ile çok ilgili olduğuna inanıyorum ve kapatılmamalıdır.
ADTC

1
@ADTC'yi kapatmak için oy kullanıyorum çünkü bu, hancademy'nin sitelerinin uyumluluğunu doğru bir şekilde araştırmadığı ve burada çözülebilecek bir soru olmadığı için daha fazla bir sorun.
James Mertz

4
Üzücü ben farkında olmadan, baştan tamamen Firefox / CSS sorunu tutarak yerine web sitesine sorunu bağladılar çünkü şimdi o hak alamayacak sonra bile web sitesinden çöz ve bunun tamamen Firefox / CSS sorun yapmak için rewording. Neyse sonunda bir güncelleme olarak bir karşı örnek ekledim, sorunun ne olduğunu gösterebilir.
ADTC

5
Burada anlayış eksikliği ile birlikte kibir hayal kırıklığına uğrattı. Sorun aslında yazı tipi dosyası isteği etki alanları arası olduğunda Font Awesome Firefox'ta başarısız olmasıdır. Başka bir deyişle, statik dosyaları dağıtmak için CDN kullanan herhangi bir sitede.
jasonrr

3
"KA, yazı tipi dosyalarına yanlış konumdan başvuruyor" Yanlış! Daha önce de bahsettiğim gibi, yazı tipleri diğer üç tarayıcıda doğru çalıştı, bu da yazı tiplerinin doğru konumda olduğu anlamına geliyor. Açıkladığım gibi Firefox'un ./yoldaki problemi açıkça ortaya çıktı , bu da KA'yı font dosyalarını ihtiyaç duymayan yeni bir konuma taşımaya zorladı ve ./Firefox'un font dosyalarını da doğru bir şekilde okumasına izin verdi. Bu nedenle , Firefox'un dosyaları nasıl ele aldığı ile ilgili bir konudur. Hatalısınız.
ADTC

Yanıtlar:


12

Soruda açıklanan sorun, Khan Academy tarafından tüm yollar ./yerine /fonts/(örneğin ./fontawesome-webfont.ttfdeğişiklikler /fonts/fontawesome-webfont.ttf) değiştirilerek giderildi . Bana öyle geliyor ki Firefox, özel "nokta" dizininden (sadece geçerli dizini ifade ediyor) dosyaları okuyamıyor.

Not: Geçen niteliğinden sonra CSS'deki noktalı virgül eksikliği değil bu soruna neden.

Ek Yorumlar:

Ön .ek hakkındaki düzenlemeniz , Firefox'un dosyaları nasıl ele aldığı değil, bir sunucu sorunudur. KA, font dosyalarına yanlış konumdan referans veriyordu - rastgele

Yanlış! Daha önce de bahsettiğim gibi, yazı tipleri diğer üç tarayıcıda düzgün çalıştı, bu da yazı tiplerinin doğru konumda olduğu anlamına geliyor. Açıkladığım gibi Firefox'un ./yoldaki problemi açıkça ortaya çıktı , bu da KA'nın yazı tipi dosyalarını ihtiyaç duymayan yeni bir konuma taşımasına zorladı ve ./Firefox'un yazı tipi dosyalarını da doğru bir şekilde okumasına izin verdi. Bu nedenle , Firefox'un dosyaları nasıl ele aldığı ile ilgili bir konudur.


Bu cevap Sathya'nın talebine göre aşağıdaki yorum akışında oluşturulmuştur.
ADTC

2
Bu Firefox sorununun da ile başlayan yolları etkilediğini unutmayın ../.
Ben


0

IE, Firefox ve Chrome'u doğru şekilde çalıştırmak için yol değişikliklerini yaptım: ( Görülecek URL )

@font-face{
  font-family:'FontAwesome';
  src:url('ogi/bete/font/fontawesome-webfont.eot?v=3.0.1');
  src:url('/ogi/bete/font/fontawesome-webfont.eot?#iefix&v=3.0.1') format('embedded-opentype'), 
  url('/ogi/bete/font/fontawesome-webfont.woff?v=3.0.1') format('woff'),
  url('ogi/bete/font/fontawesome-webfont.ttf?v=3.0.1') format('truetype');
  font-weight:normal;
  font-style:normal }
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.