Есть информация, которая необходима в моменте, чтобы проанализировать и сделать выводы прямо сейчас.Пример приведите.
как насчет кроссбраузерности? в частности, мобильные браузы и ие8вся информация на гите.
Т.е. схема работы при загрузке библиотеки будет:Вот это - более, чем понятно! :)
1) выполнить includeHTML - какой есть
2) по загрузке dom выполнить что осталось.
При этом конечно надо поправить библиотеку так чтобы она поддерживала эти два вызова. Т.е. не загружала повторно menu.html например.
Что произойдёт. Браузер начнёт парсить dom, найдёт див. вставит. Найдёт твою библиотеку. Выполнит.Вот тут, как я понимаю, и есть разрыв: неполный DOM при первом вызове!
Библиотека просканирует текущий dom, в document.body будет только один тег, див. Оно его там начнёт асинхронно грузить, в это время уже пойдёт дальнейшая работа с дом. Он загрузит #load_later, и начнёт условно подгружать другие ресурсы если есть, картинки там, видео и т.п.
При этом, ещё пункт про нужность двух запусков. Асинхронный скрипт может запуститься после domcontentloaded, а тут ты бац, и запустишь первый проход не зависимо от этого принудительно. =)От чего зависит: после он запустится или нет (от кода функции, от браузера "под капотом", или какой-то 3-й вариант ещё есть)?
и запустишь первый проход не зависимо от этого принудительно.? (если я буду напрямую грузить сверху по HTML-коду в ASYNC и без событий - то этого должно быть достаточно, как я понял...)
Начнёт грузить большой файл. Долго. Вероятнее всего уже на этом этапе отработает async скрипт, и должен, (по моей задумке) , запуститься первый раз. И собрать всё что он уже успел в доме найти. Например menu. Запустит асинхронную подгрузку и всё. Дальше браузер пойдёт параллельно обрабатывать стили, и потом грузить дальше весь остальной код в дом, включая #defer_load.Сейчас так и происходит: при обходе DOM-"дерева", как только встречается следующий ресурс, он даёт команду на загрузку, а саму загрузку файла - не ждёт и парсит "дерево" дальше, ищя следующий объект вложения и т.д. до завершения обхода всего "дерева" целиком. (но да: всё это происходит в секции window.onload)
Сперва весь html парсится в dom-content.)
Когда всё загрузит, наступит domcontentloaded, вот на него надо бы повесить уже второй повторный обработчик который пройдёт и начнёт асинхронно грузить то что скрипт не догрузил когда выполнился.Что значит фраза: "не догрузил, когда выполнился"?
Только async вариант не асинхронный, т.к ждёт загрузки 1. самой библиотеки ,2.html страницы. Т.е когда ваш скрипт погружен как async, нужной функции, очевидно, не будет.Речь шла немного про другое. Когда рендерятся теги - там загрузка HTML-частей идёт параллельно (включая рекурсивную загрузку при вложенности: внутри одного HTML-куска тег загрузки дргуого HTML-куска и т.д.).
Тру асинхронный вариант будет как раз через атрибуты тегов.Вот тут - не понял... Поясните.
Для этого надо запускать не по window.onload,а по domcontentready, сам скрипт с async, и вообще сперва при загрузке скрипта запустить функцию, а потом и по загрузке дома. Будет прям очень быстро работать.Она стартует и сейчас сама автоматически сразу, после инициализации функции. Зачем её запускать ДО DOM'а, если он ещё не готов и делать этой функции нечего (может я в логике что-то упустил, подскажите)?
рассказы про лень это к авторам биндингов. Обычно они особо не заморачиваются с поддержкой, и там кроме примеров из гита, и того что было нужно автору мало что работает.есть Вы, есть алгоритм и есть ЯП!
импорт индивидуальных цен - через xls работает ?я лично не юзал: нужно всё читать и изучать.