Забыли пароль?
Запросите новый здесь.

Автор темы: Zaxap
ID темы: 2673
Информация:
Тема содержит 8 сообщения, была просмотрена 4436 раз.
Просмотр темы
PHP-Fusion Russia » Веб-разработка » Javascript, ajax, jquery
 Распечатать тему
Как проверить, загружен ли скрипт?
Zaxap
Как осуществить данную проверку?
Решил загружать необходимые скрипты только по мере необходимости в их функционале, дабы не грузить пользователей, которые не нажимают на те или иные кнопки, тем, что за этими кнопками скрыто...
Допустим, я зашел на страницу, ткнул <button> - загрузился скрипт, отвечающий за модальные окна (например, какой-нибудь jquery.plugin), открылось модальное окно. Я закрыл это окно и открыл снова. По логике тут скрипт должен загрузиться снова, так вот как мне избежать этого?

Example:
Загрузить источник  GeSHi: Javascript
  1. function loadScript(url, callback) {
  2. var script = document.createElement("script");
  3.  
  4. if (script.readyState) { //IE
  5. script.onreadystatechange = function () {
  6. if (script.readyState == "loaded" ||
  7. script.readyState == "complete") {
  8. script.onreadystatechange = null;
  9. callback();
  10. }
  11. }
  12. }
  13. else { //Others
  14. script.onload = function () {
  15. callback();
  16. };
  17. }
  18.  
  19. script.src = url;
  20. document.getElementsByTagName("head")[0].appendChild(script);
  21. }
  22.  
  23.  
  24.  
  25.  
  26. $('#modal').find('button').click( function () {
  27. loadScript('modal.js', function () {
  28. modal('Hello world');
  29. })
  30. })
Добавлено за 0.003 секунд, используя GeSHi 1.0.8.10

Зло не дремлет, а я добрый...
 
Deorchik
Zaxap, Думаю никак, тк скрипт загружается по клику, а чего так не выйдет, отдельно его грузить?
 
Web
Zaxap
Deorchik, loadScript, полагаю, нужно установить if-условие, в которое тоже зафигачить callback(); без загрузки скрипта, но вот дальше я не могу нормально мыслить... Можно, конечно, проверить, существует ли скрипт в head, но думал, что нужно проверять как-то более эффективно (например, загружен ли скрипт вообще)... Хотя, я мало разбираюсь в этих причудах браузеров...
Пока сделаю описанную проверку, а потом уже посмотрим.
- - - - - - - - - - - - - - - -
Понаблюдал за скриптами - пришел к выводу, что они повторно не загружаются, посмотрим...
Изменил(а) Zaxap, 24.03.2016 04:00
Зло не дремлет, а я добрый...
 
Polarfox
если все грузится по твоей функции - почему ты не учитываешь их в список загруженных скриптов?
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме

PolarLab - вход для подопытных
x1 x1 x1
 
Web
Zaxap
PolarFox, не совсем понял, можно подробнее? Например?
Зло не дремлет, а я добрый...
 
Rush
думаю это ответ на твой вопрос https://webpack.g.... а вообще вопрос модульной lazy загрузки в жабаскрипте довольно старый и все еще актуальный вопрос
x1
 
Web
Zaxap
Rush, немного не то, и это тяжеловато будет) У меня сама библиотека весит 15-20кб)) Думаю, require-функция - то, что мне нужно...пожалуйab Будем искать
Зло не дремлет, а я добрый...
 
Rush
хоспаде, зачем париться насчет 20кб?
 
Web

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум:
Похожие темы
Темы Форум Ответов / Просмотров Последние сообщения
Перешел на HttpS - Как теперь удалить Http?!  →  Вопросы новичков 1 / 65 18.06.2019 13:19
как правильно сделать phpmailer на utf-8?  →  Ошибки, баги 5 / 153 09.06.2019 14:15
Как определить необходимые мощности хостинга для группы сайтов с определённой посещалкой?  →  Хостинг 0 / 515 20.02.2019 20:46
Как перейти с http на https  →  Вопросы новичков 20 / 20238 19.02.2019 22:19
Сделать ответыт на фриланс биржах на CURL - как?  →  PHP 1 / 520 05.11.2018 12:43
Возможно ли при помощи тестов (вопросов) проверить совместимость М и Ж?  →  Разное 2 / 1116 04.11.2018 17:24
Лендингоподобная главная - как заверстать адаптивно в CSS?  →  Пожелания и предложения 2 / 1938 24.04.2018 13:13
Как найти в БД для панели "похожие статьи, новости, темы"?  →  Пожелания и предложения 0 / 1017 23.04.2018 17:29
Как защититься от спамеров? капча есть, но она легко вводится  →  Моды 11 / 8807 26.02.2018 19:52
сколько у вас Время загрузки и как оно зависит от хостинга?  →  Пожелания и предложения 9 / 3405 01.02.2018 06:27
Топ 5 пользователей форума
Alex Alex (1,209)   Zaxap Zaxap (1,089)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)