2013-11-17 4 views
18

Связанный вопрос here.FontAwesome не отображается в Firefox

ответ Бориса на этот вопрос, кажется, имеет смысл, но я установил Потрясающие файлы шрифтов на моем сервере, и проблема остается:

enter image description here

Я заглянул в библиотеку и обнаружил, что шрифт файлы включены в установку, поэтому аргумент о межсерверном доступе к шрифтам не представляется допустимым. Я не возражаю против использования BootstrapCDN, но, похоже, предложение Бориса применимо, и я не знаю, как отправить правильные заголовки CORS. (Я попробовал, но он тоже не работает.) Подумайте, как я могу это исправить, используя «Bootstrap CDN» или «CSS по умолчанию»? (Смотри также these instructions.)


PS: IE10 показывает глиф правильно.

+0

У меня была такая же проблема, как я посмотрел на отладчик в firefox, кажется, что есть проблема с перекрестным происхождением. «Запрос на перекрестный запрос заблокирован: политика одного и того же происхождения запрещает чтение удаленного ресурса» Поэтому убедитесь, что вы запрашиваете файлы шрифтов с одного и того же пути, включая http: // www. n/or simple http: //: Итак, если адрес веб-сайта: http: //domain.tld, вы должны указать css src с одного и того же пути, чтобы браузер мог правильно обращаться к шрифтам. Надеюсь, это поможет! –

+0

Ничего не объяснено здесь: http://code-epicenter.com/font-awesome-is-not-showingworking-in-mozilla-firefox/ – MrD

ответ

38

Вы пробовали Bootstrap CDN?

Просто укажите <link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet"> в разделе <head>. Файлы шрифтов будут автоматически загружаться из CDN.

Проверено это на Firefox и работает отлично.

@Boris говорит:

Firefox позволяет только междоменное связывание шрифтов, если сервер шрифтов на посылает правильные заголовки CORS.

Так что ясно, что это CDNs обязанность установить правильные заголовки, не ваш. И они, похоже, делают это правильно, потому что Firefox не жалуется.

Если вы используете шрифты на своем собственном сервере, имейте в виду, что правило междоменного доступа может все еще применяться, например. файлы с файлами шрифтов под domain.com могут быть недоступны с www.domain.com, если www.domain.com не отправляет правильные заголовки.

Прочтите this answer за советы об обходных ограничениях между поддоменами - это может помочь в вашем случае.

+0

Да, я пробовал Bootstrap CDN, но это тоже не сработало. Спасибо за ваш ответ. – stevenvh

+1

Можете ли вы разместить ссылку на свой сайт? –

+0

[эта страница] (http://zorl.net/fa_cdn.php) разделяется на простые предметы и использует Bootstrap CDN. Не работает. По-видимому, когда я делаю то же самое для [локально установленного FA] (http://zorl.net/fa_local.php), он * работает *. – stevenvh

0

Если вы являетесь владельцем своего собственного сервера, вы можете добавить заголовок http, чтобы справиться с этой проблемой. Проблема, основанная на междоменной политике.

foo.com/font-awesome.woff

boo.com/index.htm

в этом случае вы должны добавить, что заголовок FOO.COM

Access-Control-Allow-Origin = "http://boo.com" 

или

Access-Control-Allow-Origin = "*" 

, который сделает ваш файл шрифта доступным с других сайтов или определенного сайта.

-12

Убедитесь, что ваши пути верны.Используйте класс фа и класс значок, как:

фа фа-конверт

и будет работать большой ..

приветствий.

+0

Он явно уже делает это, или он не появится в других браузерах, чем Firefox ... –

0

У меня такая же проблема, мы используем шрифты на плате маршрутизатора с помощью micro httpd. Я добавил заголовок Access-Control-Allow-Origin: *, но не работал для меня.

Я нашел в firebug, что файл woff не сохраняет ничего в тексте ответа. то же самое, если я использую URL-адрес CDN, все работает нормально. поэтому локальному серверу micro-httpd нужен какой-то обязательный заголовок для настройки. скажите, пожалуйста, также точные типы mime для всех шрифтов.

  • .ttf " "применение/х-шрифт-TTF"
  • .eot", "приложение/vnd.ms-fontobject"
  • .woff», "приложение/шрифта Уофф"
  • .svg»,„изображение/SVG + XML“
0

решение сделать fontawesome CSS работы локально включить файлы в папку Fonts в том же каталоге файлов .html (страницы).

например: Файловая структура, как сейчас, когда fontawesome не работает

prototype\pages\.html files 
    prototype\styles\font-awesome\css\font-awesome.min.css 
    prototype\styles\font-awesome\css\fonts\fontawesome-webfont.eot,fontawesome-webfont.woff 

Проблема здесь в том, что на странице, загруженной из файла: // URI, только файлы (или ниже) в той же директории файловой системы считаются «одинаковыми», поэтому размещение шрифта в другом поддереве (../font/) означает, что он будет заблокирован ограничениями политики безопасности. Поскольку Firefox отключает междоменные шрифты «по умолчанию». Вместо этого измените структуру файла, как показано ниже:

 prototype\pages\.html files 
     prototype\styles\font-awesome\css\font-awesome.min.css 
    prototype\pages\fonts\fontawesome-webfont.eot,fontawesome-webfont.woff 

поместите папку шрифтов в каталог страниц, которая исправляет проблему. Надеюсь, это поможет.

Смежные вопросы