Шрифты Google не отображаются в Google Chrome
Я создаю новую тему WordPress (не знаю, актуально ли это), и есть эта проблема, которая продолжает меня беспокоить.
Я загрузил Roboto Slab из Google Webfonts (включил CSS в ). В любом другом браузере шрифт отображается нормально, кроме Google Chrome. Когда я впервые загружаю веб-сайт в Google Chrome, тексты, использующие этот пользовательский шрифт, вообще не отображаются (даже Tho font-stack имеет Georgia в качестве запасного варианта -"Roboto Slab", Georgia, serif;
). После того, как я наведу стиль ссылка или повторный запуск любого свойства CSS в Инспекторе - тексты становятся видимыми.
Так как я начал тему некоторое время назад, я четко помню, что он работал отлично раньше. Это какая-то известная недавняя ошибка обновления Chrome?
загрузить: скриншот #1
после того, как я повторно применю любое из свойств CSS, войдите в отзывчивый вид или наведите указатель мыши на элемент: скриншот #2
у кого-нибудь есть подобные проблемы? Как я должен поступить с этим?
спасибо!
15 ответов:
видимо это известная ошибка Chrome. Существует обходной путь только для css, который должен решить проблему:
body { -webkit-animation-delay: 0.1s; -webkit-animation-name: fontfix; -webkit-animation-duration: 0.1s; -webkit-animation-iteration-count: 1; -webkit-animation-timing-function: linear; } @-webkit-keyframes fontfix { from { opacity: 1; } to { opacity: 1; } }
похоже, Chrome просто нужно сказать, чтобы перекрасить текст
исправление CSS не сработало для меня, также сценарий задержки 0.5 sec кажется неудобным.
этот фрагмент JS, кажется, работает для нас:
<script type="text/javascript"> jQuery(function($) { if (/chrom(e|ium)/.test(navigator.userAgent.toLowerCase())) { $('body').css('opacity', '1.0') } }) </script>
Если исправление css не работает для вас
в случае первый рейтинг в должности не работает, вот решение:
удалите 'http:' в:
<link href='http://fonts.googleapis.com/css?family=Alfa+Slab+One' rel='stylesheet' type='text/css'>
или
@import url(http://fonts.googleapis.com/css?family=Alfa+Slab+One);
как пояснил Дэвид Бэйн, большинство современных браузеров на самом деле не требуют, чтобы вы указывали протокол, они будут "выводить" протокол на основе контекста, из которого вы его назвали
пробовал исправление css только выше без успеха. Наконец, решается путем создания таблицы стилей (chrome.УСБ), содержащий:
body { -webkit-animation-delay: 0.1s; -webkit-animation-name: fontfix; -webkit-animation-duration: 0.1s; -webkit-animation-iteration-count: 1; -webkit-animation-timing-function: linear; } @@-webkit-keyframes fontfix { from { opacity: 1; } to { opacity: 1; } }
и загрузка его с помощью jquery в нижней части страницы:
<script type="text/javascript"> $(document).ready(function () { $('head').append('<link href="/chrome.css" rel="stylesheet" />'); }); </script>
Я включил выше CSS ... но я также включаю в свой заголовок следующий javascript:
(примечание, Я знаю, что я не настроил шрифты в коде ниже. Но несмотря на это, он по-прежнему помогает заставить Chrome перекрасить шрифты на странице ... просто убедитесь, что ваши шрифты правильно указаны в другом месте)
С CSS, упомянутым выше, используемым в сочетании с приведенным ниже кодом, включенным в my ... в худшем случае, все шрифты на моей странице будут отображаться через секунду или около того задержки.
надеюсь, что это помогает людям. Овации.
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script type="text/javascript" charset="utf-8"> $(function() { $('body').hide().show(); }); </script> <script type="text/javascript"> //JavaScript goes here WebFontConfig = { google: { families: ['FontOne', 'FontTwo'] }, fontinactive: function (fontFamily, fontDescription) { //Something went wrong! Let's load our local fonts. WebFontConfig = { custom: { families: ['FontOne', 'FontTwo'], urls: ['font-one.css', 'font-two.css'] } }; loadFonts(); } }; function loadFonts() { var wf = document.createElement('script'); wf.src = ('https:' == document.location.protocol ? 'https' : 'http') + '://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js'; wf.type = 'text/javascript'; wf.async = 'true'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(wf, s); } (function () { //Once document is ready, load the fonts. loadFonts(); })(); </script>
вот где я нашел выше: https://productforums.google.com/forum/#! тема / chrome / tYHSqc-fqso
я исправил его с помощью решения JS, но также необходимо было использовать последнюю версию Google hosted jquery (1.11), чтобы исправить ее.
Я только что столкнулся с той же проблемой. Я это было из-за несоответствия протокола HTTP/S, как описано здесь.
использовать https версия URL.
Это не реальное решение, но это работает лучше для меня, чем все остальное в этой теме. Я поменял шрифт. У меня было Fira Sans и теперь просто поменял на Roboto, который работает из коробки.
Я просто использовал, чтобы удалить шрифт roboto из моих шрифтов windows, и все работает прямо сейчас.
Это может быть потому что у вас старая версия шрифта на вашем компьютере . Я думаю.
Я пытался работать с ответом Мэг, но, как и многие другие, это тоже не сработало для меня.
для использования шрифта Google, нашел этот трюк[добавление скриншотов для шагов].
1) Просто возьмите url из css или стандартной ссылки, как выделено.
2) откройте ссылку в другой вкладке, скопируйте весь код css (т. е. font-face) в свой файл css и запустите.
Не уверен в производительности, так как многие http-вызовы добавляются, или просто попробуйте скопировать один шрифт.
вполне возможно, что элемент
text-rendering: optimizeLegibility
установите, что может вызвать эти или подобные проблемы. Изменение его наauto
исправлена эта проблема для меня с проектом Foundation 5, который устанавливает его вoptimizeLegibility
по умолчанию.
см. аналогичную проблему в вопросе странная проблема при рендеринге шрифтов Google.
решение заключается в загрузке нужного шрифта (I my case 'Fira Sans') из Mozilla CDN вместо Google CDN.
Это может быть не серебряная пуля, но исправьте проблему на нашем сайте, переместив ссылку FontAwesome css в нижнюю часть наших страниц, а также веб-исправление, указанное выше.
Если у людей все еще есть эта проблема, прежде чем попробовать все отличные решения здесь попробуйте использовать !важный тег в вашем css, чтобы увидеть, исправит ли это, как это было для меня, и я не уверен, что ошибка такая же, как и старая ошибка Chrome.
.faultyText {"Roboto Slab", Georgia, serif !important}
проверка плагин я сделал: https://chrome.google.com/webstore/detail/fontfix/ekgfbmjaehhpbakdbpfmlepngjkaalok
Он делает веб-перестройку с чистым javascript, который заставляет браузер перерисовывать всю страницу.