Вот с такой неприятностью столкнулась в Firefox вчера:
Проверяю https на моем сайте. Заветный зеленый замочек есть - красота!
А при нажатии на инфо(!) под надписью "Защищенное соединение" совсем некрасиво написано:
"Firefox заблокировал незащищенное содержимое...", как-то так...
Так, думаю, значит я где-то ссылки абсолютные оставила.
Открываю консоль Firefox, там красным:
Заблокирована загрузка смешанного активного содержимого «http://test/.../...woff2
«http://test/ - это у меня на локалке путь. Так неужели я в @font-face прописала абсолютные url-ы? Такого со мной еще не было. Да и шрифт нормально отображается!
Причем, ни Opera, ни Chrome никаких ошибок не показывают.
После всех исследований вот что получается:
Firefox сначала ищет у себя в кэше нужные шрифты, и там, конечно, есть эти шрифты, так как я локальный сайт тут гоняю, причем версия шрифтов та же самая, что и на самом сайте. Он пытается их подгрузить и блокирует как полученные по незащищенному соединению.
Потом он прекрасно грузит все эти шрифты с сайта. Но делает пометку под замочком!
Получается, если у пользователя хранятся в кэше такие же шрифты как ваши, загруженные для другого сайта, который сидит на http, то он тоже увидит сообщение о блокировке (если он слишком любопытен, конечно).
Выход такой:
- Если вы грузите шрифты со своего сервера, обязательно добавляйте свою версию, состоящую из многих символов, чтобы она была уникальной для ваших шрифтов.
Пример:
@font-face {
font-family: 'FontAwesome';
src: url('../fonts/fontawesome-webfont.eot?vmysite=4.7.0');
src: url('../fonts/fontawesome-webfont.eot?#iefix&vmysite=4.7.0') format('embedded-opentype'),
url('../fonts/fontawesome-webfont.woff2?vmysite=4.7.0') format('woff2'),
url('../fonts/fontawesome-webfont.woff?vmysite=4.7.0') format('woff'),
url('../fonts/fontawesome-webfont.ttf?vmysite=4.7.0') format('truetype'),
url('../fonts/fontawesome-webfont.svg?vmysite=4.7.0#fontawesomeregular') format('svg');
font-weight: normal;
font-style: normal;
}
Было v=4.7.0, стало vmysite=4.7.0.
Теперь шрифты точно будут грузиться с вашего сервера.