Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.01.2017, 05:58
Профессор
Отправить личное сообщение для Infinity178 Посмотреть профиль Найти все сообщения от Infinity178
 
Регистрация: 13.04.2014
Сообщений: 187

jQuery Ajax - потеря функций
Доброго дня!

Ситуация:
весь DOM построен на jQuery, все, абсолютно все работает на Ajax..
Итого получилось:
контроллер функций Require JS
библиотека jQuery
.. далее x кол-во плагинов (типа multi select, styler, fileapi и пр..)

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

Написал лайтовый debug к этой конструкции и нашлось следующее:
- привязанность библиотек и порядок загрузки Require JS соблюдает успешно - претензией нет
но! плагины типа: Form Styler (достаточно объемные) не успевают погрузиться как jQuery уже считываем .on(load) и запускает функцию тем самым вызывая ошибку...

Как справиться с подобным???

скажем так - закинуть некоторые файлы в кэш.. да решение, но первый заход получается ломанный в любом случаи..


Может есть что то типа:
если функция не найдена - рефреш файла.. ну или что то подобное..
Ответить с цитированием
  #2 (permalink)  
Старый 20.01.2017, 06:28
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

https://habrahabr.ru/post/182310/
Ответить с цитированием
  #3 (permalink)  
Старый 20.01.2017, 06:55
Профессор
Отправить личное сообщение для Infinity178 Посмотреть профиль Найти все сообщения от Infinity178
 
Регистрация: 13.04.2014
Сообщений: 187

Сообщение от laimas Посмотреть сообщение
https://habrahabr.ru/post/182310/
Привет.. спс за внимание, но это немного не то...

все скрипты подгружаются async..

И все идет ровно! Только

1.js
2.js
3.js
init.js
в init.js - вызываются 1,2,3 и фактически скажем 2 уже подгружен, но init срабатывает на on load, т.е. все загружено и уже после load - выдает false на функции расположенные 2 (через раз...)
Ответить с цитированием
  #4 (permalink)  
Старый 20.01.2017, 07:04
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

А другими путями кроме описанного как? Ну или изменяйте скрипты.
Ответить с цитированием
  #5 (permalink)  
Старый 20.01.2017, 07:15
Профессор
Отправить личное сообщение для Infinity178 Посмотреть профиль Найти все сообщения от Infinity178
 
Регистрация: 13.04.2014
Сообщений: 187

проблема оказалось только в одном файле, ну на всякий случай поставил в цикл..
если в двух словах: тупо сделал REFRESH инициирующему файлу..

чуть больше деталей в решении:
- компрессия всех файлов (кроме инициирующего)
- асинхронная загрузка Require JS, с жесткой зависимостью..
- Debug, с условием:
--- если function === false, проверяем перебором наличие файла
-------- если файл есть, запускаем refresh инициатору
-------- если файла нет, подключаем повторно файл и запускаем refresh
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Jquery, AJAX и все IE prowoke AJAX и COMET 7 01.12.2012 22:34
Конфликт Ajax и jQuery MadChild Javascript под браузер 2 22.10.2012 18:30
jQuery Validator и ajax подгрузка полей RRRinat jQuery 3 30.08.2011 01:57
JQuery + Ajax = загрузка изображений jokerbot jQuery 0 06.12.2009 15:10
При наборе адреса с www не работает AJAX (JQuery)! madmis AJAX и COMET 3 23.11.2009 19:03