Загрузчик Webfont и Google JSAPI Не можете загрузить вместе?

Я не уверен почему, хотя получаю подобную проблему.

Попытка загрузить шрифт с fonts.com с помощью webfontloader, чтобы я мог вызывать функции после их загрузки.

<script src="https://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js"></script>
<script>
   WebFont.load({
      monotype: {
        projectId: 'xxxxxxxxxxxxxxxxxxxx'
      },
      active: function() {
         mainNav();
      }
   });

Но когда я включаю его с помощью jsapi

<script src="https://www.google.com/jsapi"></script>

В консоли появляется следующая проблема: Uncaught TypeError: Невозможно вызвать метод 'hasAttribute' из null

Тем не менее, если загружены отдельно, они в порядке...

Есть идеи?

1 ответ

Решение

Попробуйте использовать следующий URL для загрузки API веб-шрифтов:

<script src="//ajax.googleapis.com/ajax/libs/webfont/1.1.2/webfont.js"></script>

Для получения дополнительной информации проверьте следующую запись: https://groups.google.com/forum/#!msg/google-ajax-search-api/dWVzQF_YWCM/Y3-R738wh78J

Мы больше не поддерживаем частичные псевдонимы версий для новых версий библиотек. Любые частичные псевдонимы версий уже будут поддерживаться и обновляться. Причина в том, что URL-адреса, такие как https://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js которых говорится "дайте мне самую последнюю версию jquery 1.xx), имеют очень короткий время жизни кеша, так как самая последняя версия может измениться в любое время. Это ухудшает производительность. Это также плохо сказывается на вашем веб-сайте, в случае если библиотека вносит критические изменения в свои API-интерфейсы между версиями, что приводит к тому, что ваша страница неожиданно отображается по-разному Библиотеки обычно не делают такие изменения преднамеренно, но страницы иногда зависят от поведения неуказанного углового случая API, который может быть преднамеренно или случайно изменен при обновлении библиотеки.

Поэтому мы настоятельно рекомендуем указывать полную строку версии при обращении к библиотекам, размещенным в API Google AJAX. Вы всегда можете найти самую последнюю версию по адресу https://developers.google.com/speed/libraries/devguide. В этом случае самая последняя версия 1.9.x в настоящее время 1.9.1, поэтому мы рекомендуем использовать URL https://ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/jquery-ui.min.js для получить стабильную версию и лучшее кэширование.

(Кроме того, ваш пример выше не имеет закрытия </script> тег. Просто хочу убедиться, что это не существует в вашем собственном коде).

Другие вопросы по тегам