Шрифты Google не отображаются в Google Chrome

Я создаю новую тему WordPress (не знаю, если это актуально), и есть эта проблема, которая продолжает прослушивать меня.

Я загрузил Roboto Slab из Google Webfonts (включая CSS в разделе <head>). На каждом другом браузере шрифт отображается ОК, кроме Google Chrome. Когда я впервые загружаю веб-сайт в Google Chrome, тексты с использованием этого пользовательского шрифта НЕ отображаются во ВСЕХ (даже в стеке шрифтов Грузия как резерв - "Roboto Slab", Georgia, serif;). После того, как я навещу ссылку на стиль или перезапустил любое свойство CSS в Inspector, тексты станут видимыми.

С тех пор как я начал тему некоторое время назад, я могу четко помнить, что она отлично работала раньше. Это известная недавняя ошибка обновления Chrome?

Первая загрузка: скриншот # 1

После того, как я повторно применил какие-либо свойства CSS, войдите в отзывчивое представление или наведите элемент: скриншот # 2

У кого-то есть подобные проблемы? Как я могу продолжить это?

Спасибо!

Ответ 1

По-видимому, это известная ошибка 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 просто нужно перекрасить текст

Ответ 2

Исправление CSS не работает для меня, также 0,5 секундная задержка script кажется неудобной.

Этот фрагмент JS, похоже, работает для нас:

<script type="text/javascript">
jQuery(function($) {
    if (/chrom(e|ium)/.test(navigator.userAgent.toLowerCase())) {
        $('body').css('opacity', '1.0') 
    }
})
</script>

Ответ 3

Если исправление 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);

Как объясняется David Bain, большинство современных браузеров фактически не требуют, чтобы вы указали протокол, они будут "выводить" протокол на основе контекста, из которого вы его назвали

Ответ 4

Пробовал исправление css выше, без успеха. Наконец, разрешив создание таблицы стилей (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; }
}

И загрузив его в jquery внизу страницы:

<script type="text/javascript">
   $(document).ready(function () {
      $('head').append('<link href="/chrome.css" rel="stylesheet" />');
   });
</script>

Ответ 5

Я включил вышеприведенный CSS... но я также включил в свой заголовок следующий javascript:

(Заметьте, я знаю, что я не настроил шрифты в коде ниже. Но, несмотря на это, он все еще, кажется, помогает заставить Chrome перерисовывать шрифты на странице... просто убедитесь, что ваши шрифты правильно указаны в другом месте )

С CSS, упомянутым выше, используемым в сочетании с приведенным ниже кодом, включенным в мою... в худшем случае, все шрифты на моей странице будут отображаться через секунду или около того задержки.

Надеюсь, это поможет людям. Приветствия.

<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 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/#!topic/chrome/tYHSqc-fqso

Ответ 6

Я исправил его с помощью решения JS, но также должен был использовать последний jQuery, размещенный в google (1.11), чтобы зафиксировать его.

Ответ 7

Я столкнулся с той же проблемой. Это было связано с несоответствием протокола HTTP/S, как описано здесь.

Используйте https версию URL.

Ответ 8

Это не реальное решение, но оно работает лучше для меня, чем все остальное в этой теме. Я изменил шрифт. У меня была Фира Санс, и теперь я просто перешел на Roboto, который работает из коробки.

Ответ 9

Я просто использовал для удаления шрифта roboto из моих оконных шрифтов, и теперь все работает.

возможно, потому что у вас более старая версия шрифта в вашей системе. я думаю.

Ответ 10

Я пытался работать с Meg-ответом, но, как и многие другие, это тоже не работало для меня.

Для использования Google Font нашла этот трюк [Добавление скриншотов для шагов].

1) Просто возьмите url из css или стандартной ссылки, как выделено.

2) Откройте ссылку на другой вкладке, скопируйте весь код css (т.е. font-face) в ваш файл css и запустите.

Не уверен в производительности, так как многие HTTP-вызовы добавляются или просто пытаются копировать один шрифт.

Изображение для шага 1 введите описание изображения здесь

Изображение для шага 2 введите описание изображения здесь

Ответ 11

Возможно, что элемент имеет text-rendering: optimizeLegibility, который может вызвать эту или подобные проблемы. Изменение этого параметра на auto исправило эту проблему для меня проектом Foundation 5, который по умолчанию устанавливает его optimizeLegibility.

Ответ 13

Возможно, это не серебряная пуля, но устраните проблему на нашем сайте, переместив ссылку на font-версию css на нижнюю часть наших страниц, а также веб-ссылку, указанную выше.

Ответ 14

Если у людей по-прежнему возникает эта проблема, прежде чем пытаться использовать все замечательные решения, попробуйте использовать важный тэг в своем CSS, чтобы узнать, исправит ли он это, как и для меня, и я не уверен, что ошибка аналогично старой ошибке Chrome.

.faultyText {"Roboto Slab", Georgia, serif !important}