Допустим есть локальная (т.е. расположенная на диске моего компа, а не в Internet) веб-страница, использующая локальные же (т.е. тоже лежащие на диске) веб-шрифты.
Веб-шрифты (Web Fonts) — т.е. шрифты, которые браузер берет не из Windows, а вгружает с каких-то ссылок. Такие шрифты бывают в разных форматах: WOFF, OTF, TTF, EOT (не буду останавливаться тут на этом подробно, не в этом суть). В CSS они прописываются примерно так:
-----
@font-face {
font-family: "my Web Font";
src: url("WebFont.woff") format("woff"),
url("WebFont.ttf") format("truetype");
}
p {font-family: 'my Web Font';}
-----
В общем, думаю, понятно, что я имею в виду. Так вот, я столкнулся с какой-то странной ситуацией, что FireFox показывает веб-шрифты только если файл веб-шрифта лежит на одном уровне или ниже уровнем (т.е. в под-папках) относительно веб-страницы, куда он внедрен.
Если же веб-шрифт лежит выше уровнем, то FireFox почему-то не показывает его, хотя Internet Explorer показывает.
Поясню для наглядности.
------------
Схема-1
------------
C:\DOCS\BOOKS\page.htm
C:\DOCS\BOOKS\WEB_FONTS\SomeFont.WOFF
в CSS путь прописан так: src: url("WEB_FONTS\SomeFont.WOFF")
-- Эту ситацию и FF и IE показывают нормально
------------
Схема-2
------------
C:\DOCS\BOOKS\page.htm
C:\DOCS\WEB_FONTS\SomeFont.WOFF
в CSS путь прописан так: src: url("..\WEB_FONTS\SomeFont.WOFF")
т.е. идем от веб-страницы на 1 уровень выше (в папку "DOCS"), а оттуда — в папку "WEB_FONTS" со шрифтом
-- А вот тут FF веб-шрифт не показывает (а IE показывает).
Вопрос: это, действительно, какая-то "файер-фоксовская" багофича, или я что-то не понимаю или неправильно делаю?
Отредактировано EgorSokolov (28-10-2023 13:46:51)
Отсутствует
Для начала указал бы на каких конкретно версиях ты узрел файер-фоксовскую багофичу и пробовал ли повторить это на последних версиях? (Nightly, Developer, Beta в том числе)
Отсутствует
Хм... Да, интересно. Щас еще раз перепроверил: "багофича" имеет место на FireFox-36 и 52, но на FF-78 и 115 её нет. На других FF не пробовал, т.к. их на компах нет. Но меня интересует главным образом FF-52, т.к. это (вроде) последний FF, работающий на WinXP.
Отсутствует
Но меня интересует главным образом FF-52, т.к. это (вроде) последний FF, работающий на WinXP
Если быть точным, то это 52.9.0 ESR (источник)
Отсутствует
Да, благодарю за наводку. Эта настройка security.fileuri.strict_origin_policy = false в FireFox-36/52, действительно, мне помогла. Так что с практической стороны вопрос можно считать закрытым, но с теоретической всё равно остаются непонятки. А почему тогда при этой же настройке TRUE в FF-78/115 проблемы с веб-шрифтами нет? То есть в FF-52 ее надо переключить с дефолтного TRUE в FALSE, а в FF-78/115 она стоит в TRUE, но не мешает веб-шрифтам грузиться?
Отсутствует