Я создаю заставку для общедоступной точки доступа Wi-Fi, и Firefox отказывается отображать мой собственный шрифт, пока он работает в любом другом браузере (ну, не IE <9, но это ожидалось). </p>
Страница должна работать в следующих ограничениях:
- Нет доступа к Интернету: эта страница отображается до того, как пользователь примет условия, поэтому все заблокировано
- Страница хранится в точке доступа: это означает, что встроенный сервер, вероятно, написан на C, и я не могу добавить дополнительный заголовок или что-то еще. Ну, это с открытым исходным кодом, так что это возможно, но я, безусловно, не разработчик встроенных!
- WiFi используется для рекламы небольшого города, в котором он предлагается, поэтому он должен быть максимально красивым.
Чтобы соответствовать этим ограничениям, я использовал @ font-face с uri данных, например:
@font-face {
font-family: Lato-Light;
src: url(data:application/font-woff;base64,<large base64 string>)
format('woff');
}
h1{
font-family: Lato-Light, Helvetica, sans-serif;
}
Это работает как шарм ... За исключением Firefox. Теперь я понимаю, что это не будет работать в старых IE, но я готов работать с этим. Но мне кажется странным, что так называемый современный браузер не предлагает такую функцию. Почему это не работает?
РЕДАКТИРОВАТЬ: Конечно, у меня есть много идей для отступления, но мой вопрос здесь больше: почему Firefox имеет такое поведение, которое отличается от других браузеров? Это настройка безопасности? Ошибка в реализации data-uri? Ограничение размера для data-uri?