Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.01.2010, 10:40
Интересующийся
Отправить личное сообщение для uncher4 Посмотреть профиль Найти все сообщения от uncher4
 
Регистрация: 04.02.2009
Сообщений: 22

проверка наличия jQuery
Как можно узнать загружена ли jQuery и при необходимости загрузить ее?
Для того, что бы избежать повторной загрузки.
Ответить с цитированием
  #2 (permalink)  
Старый 06.01.2010, 12:29
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

if(!window.jQuery){
document.write('<script type="text/javascript" src="/js/lib/jquery.js"></script>')
}
Ответить с цитированием
  #3 (permalink)  
Старый 06.01.2010, 12:29
Интересующийся
Отправить личное сообщение для Michael83 Посмотреть профиль Найти все сообщения от Michael83
 
Регистрация: 05.01.2010
Сообщений: 28

проверка наличия jQuery
if (window.jQuery) {
  // ...
}

версию можно узнать window.jQuery.fn.jquery или $.fn.jquery

подключить можно так:
1. решение "в лоб"
document.write('<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js">
</script>');
или то же самое но с ссылкой с вашего сайта

2. решение по-лучше: по сути тоже самое что в п.1 но динамически, через создание DOM-элемента script, подписки на onload в котором будет выполняться ваш jQuery код. (как это делать можно найти в статье на этом сайте). То есть здесь гарантия, что ваш код будет работать уже после того как jQuery загрузился. (хотя этой синхронизации можно и в первом варианте добиться, если интересно спрашивайте)

Также можно например отключить jQuery на странице, если он старой версии и загрузить новый, но тут надо осторожно т.к. черевато проблемами в работе сайта...

Последний раз редактировалось Michael83, 06.01.2010 в 12:54.
Ответить с цитированием
  #4 (permalink)  
Старый 06.01.2010, 13:34
Интересующийся
Отправить личное сообщение для uncher4 Посмотреть профиль Найти все сообщения от uncher4
 
Регистрация: 04.02.2009
Сообщений: 22

document.write('<script type="text/javascript" src="/js/lib/jquery.js"></script>')

Почему то это не работает. Судя по всему причина в </script>'

Т.е. если писать
<script type="text/javascript">

if(!window.jQuery)
document.write('<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>')
Этот текст будет выведен в браузер, т.к. тег script уже закрыт!
</script>
Ответить с цитированием
  #5 (permalink)  
Старый 06.01.2010, 13:45
Интересующийся
Отправить личное сообщение для Michael83 Посмотреть профиль Найти все сообщения от Michael83
 
Регистрация: 05.01.2010
Сообщений: 28

Сообщение от uncher4 Посмотреть сообщение
document.write('<script type="text/javascript" src="/js/lib/jquery.js"></script>')

Почему то это не работает. Судя по всему причина в </script>'

ну конечно надо заэскейпить, думал вы догадаетесь
document.write(unescape('<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js">%3C/script%3E'));
Ответить с цитированием
  #6 (permalink)  
Старый 06.01.2010, 14:00
Интересующийся
Отправить личное сообщение для uncher4 Посмотреть профиль Найти все сообщения от uncher4
 
Регистрация: 04.02.2009
Сообщений: 22

Спасибо, теперь работает.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jQuery Click() не работает на объекте, созданном Ajax vovabigov jQuery 13 09.09.2012 13:25
jquery - Как получить полный путь? kirill.adw jQuery 5 20.11.2009 16:40
JQuery + FireFox NOOB jQuery 4 02.11.2009 17:16
Jquery, Dynatree и JSON antirek jQuery 6 01.09.2009 14:00
Как правильно подгрузить jQuery Siton jQuery 4 15.06.2009 08:54