Можно ли загружать веб-шрифты через манифест кеша автономного хранилища?

Я понимаю, что могу импортировать свои шрифты через html / css, но мне интересно, достижим ли это подход.

Спасибо!


person The John Smith    schedule 12.08.2011    source источник


Ответы (1)


Да, если вы добавите шрифты в свой файл манифеста, они будут загружены вместе с остальными файлами, а затем будут доступны в автономном режиме. Шрифты должны быть доступны с того же сервера, на котором находится ваше автономное приложение, потому что вы не можете кэшировать ресурсы вне вашего домена. Например, вы не могли кэшировать веб-шрифты Google. Я проводил некоторое тестирование по этому поводу, похоже, шрифты из Google нормально кэшируются в Chrome и Opera, только у Firefox есть проблемы. Ограничение «не в вашем домене» для манифеста применяется только в том случае, если он обслуживается по протоколу HTTPS.

Вам все равно нужно будет ссылаться на шрифты с правилом @font-face в вашем CSS, чтобы они могли использоваться на вашей странице. Например, в вашем файле манифеста:

CACHE MANIFEST
# v1
index.html
style.css
GenBasR-webfont.eot
GenBasR-webfont.woff
GenBasR-webfont.ttf
GenBasR-webfont.svg

В style.css:

@font-face {
    font-family: 'GentiumBasicRegular';
    src: url('GenBasR-webfont.eot');
    src: url('GenBasR-webfont.eot?iefix') format('eot'),
         url('GenBasR-webfont.woff') format('woff'),
         url('GenBasR-webfont.ttf') format('truetype'),
         url('GenBasR-webfont.svg#webfontLblSsz1O') format('svg');
    font-weight: normal;
    font-style: normal;
}

body {
    font-family: 'GentiumBasicRegular';
}

Загрузите файлы Gentium с сайта Font Squirrel.

person robertc    schedule 14.08.2011
comment
Супер мило! Я обязательно буду использовать это в будущем! - person The John Smith; 16.04.2012
comment
если вы хотите загрузить все форматы шрифтов Google, ознакомьтесь с этим сообщением stackoverflow: stackoverflow.com/questions/10300143/ - person Laurens Rietveld; 10.09.2013