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

Автор темы: Zaxap
ID темы: 2673
Информация:
Тема содержит 8 сообщения, была просмотрена 5356 раз.
Просмотр темы
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.004 секунд, используя GeSHi 1.0.8.10


Зло не дремлет, а я добрый...
 
Deorchik
Zaxap, Думаю никак, тк скрипт загружается по клику, а чего так не выйдет, отдельно его грузить?

 
Web
Zaxap
Deorchik, loadScript, полагаю, нужно установить if-условие, в которое тоже зафигачить callback(); без загрузки скрипта, но вот дальше я не могу нормально мыслить... Можно, конечно, проверить, существует ли скрипт в head, но думал, что нужно проверять как-то более эффективно (например, загружен ли скрипт вообще)... Хотя, я мало разбираюсь в этих причудах браузеров...
Пока сделаю описанную проверку, а потом уже посмотрим.
- - - - - - - - - - - - - - - -
Понаблюдал за скриптами - пришел к выводу, что они повторно не загружаются, посмотрим...


Изменил(а) Zaxap, 24.03.2016 04:00
Зло не дремлет, а я добрый...
 
Polarfox
если все грузится по твоей функции - почему ты не учитываешь их в список загруженных скриптов?


Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
x1 x1 x1
 
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:

Перейти на форум:
Похожие темы
Темы Форум Ответов / Просмотров Последние сообщения
в PHP 7.4 нельзя вставлять пустое значение в `id` как раньше  →  Пожелания и предложения 4 / 1076 19.12.2023 03:32
нужны ли на сайте "Закладки" и "История посещений", как в браузере?  →  Пожелания и предложения 4 / 841 11.08.2023 15:56
Как сделать микроразметку на сайте?  →  PHP 1 / 3375 22.07.2021 06:39
Как вебмастеру сформулировали УТП для создания сайтов на PHP-Fusion?  →  Пожелания и предложения 1 / 7309 25.07.2020 03:46
SEO-оптимизация. дубли страниц в PHP-Fusion - где искать и как избавиться?  →  Ошибки, баги 0 / 5120 19.06.2020 17:06
Как вывести все данные из таблицы, за исключением администраторов  →  Плагины 3 / 5333 24.02.2020 15:59
Как перейти с http на https  →  Вопросы новичков 30 / 31841 24.10.2019 18:45
Как правильно сделать ЧПУ и переиндексировать сайт?  →  Моды 4 / 10281 24.10.2019 17:38
Как перенести ресурс на другой домен  →  Установка и настройка системы 5 / 4781 24.10.2019 14:01
Посоветуйте JS-слайдер чтобы фотки JPG сменялись как в GIF-анимации  →  Плагины 2 / 6585 20.10.2019 13:34
Топ 5 пользователей форума
Zaxap Zaxap (1,090)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)   SchreiBear SchreiBear (625)