как использовать google jsapi для jquery и jqueryui

Сегодня я понял, что другой «стандартный способ» включить jquery и jqueryui:

<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/themes/smoothness/jquery-ui.css">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js"></script>

Есть еще один способ, с помощью google jsapi:

<script src="//www.google.com/jsapi"></script>
<script>
google.load("jquery", "1.4.2");
google.load("jqueryui", "1.7.2");
$(function() { $( document ).tooltip(); });
</sciprt>

Метод jsapi лучше?

Поскольку я пробовал метод jsapi, но кажется, что он работает только с jquery и не работает с jqueryui, на самом деле всплывающая подсказка не отображается. Что случилось? Должен ли я также включать jquery css? или может мне нужен ключ?


person ipel    schedule 14.06.2014    source источник
comment
Поскольку вы используете jsapi, и он загружает javascript асинхронно, когда вы пытаетесь использовать jQuery, нет гарантии, что jquery и jqueryUI будут загружены. При использовании тегов script ничего не будет выполняться, пока файл не будет загружен. Существует опция с load, которая позволяет вам запускать обратный вызов, чтобы вы могли выполнить свой код, когда запрошенная вами библиотека загружена.   -  person GillesC    schedule 14.06.2014
comment
Не могли бы вы опубликовать полный пример того, как я могу использовать jsapi для загрузки всплывающей подсказки jqueryui? я пробовал много раз, но кажется, что jqueryui не работает..   -  person ipel    schedule 14.06.2014
comment
Из вашего примера я не вижу смысла использовать Google API. После того, как вы только что прочитали документацию, представленную в ответе ниже, она показывает, как использовать обратный вызов google.load("visualization", "1", {"callback" : pageLoaded});, но здесь у вас есть 2 библиотеки, и вы должны убедиться, что jquery загружен до пользовательского интерфейса jquery, что означает, что обратный вызов jquery вызовет пользовательский интерфейс jquery. Но, как я уже сказал, придерживайтесь тегов <script> в <head>, если все, что вам нужно, это загрузить эти две библиотеки.   -  person GillesC    schedule 14.06.2014


Ответы (1)


Идея заключается в повышении загрузки вашей страницы. Таким образом, рендеринг вашей веб-страницы не блокируется, пока он загружает jquery и jqueryui. Вам также нужно будет загрузить свой css, я думаю, вам нужно будет сделать это встроенным, поэтому вам все равно понадобится тег ссылки для загрузки jqueryui css.

Должен признать, что на самом деле я не использовал API загрузки Google, но, похоже, он делает то же самое, что и requirejs, то есть динамически загружает скрипты на стороне клиента. Это было бы полезно, если бы вы хотели программно загружать разные языки. Возможно, если бы у вас был сценарий, в котором вам не нужно было бы загружать jqueryui в некоторых условиях.

https://developers.google.com/loader/

Проверьте выше для немного больше информации.

person Captain John    schedule 14.06.2014