Как универсально ускорить "Ждать полной загрузки страницы"

Поддержка
  • @centerdevs said in Как универсально ускорить "Ждать полной загрузки страницы":

    если правильно понял, в случае если сайт это сплошной SPA - то интерактив может не отработать та как надо, потому что какой-то недогруженный JS мог в себе иметь какой-то нужный html который не успеет впилиться в dom, а событие уже сработает и скрипт продолжит работу )

    Все это костылями можно проверить после интерактива. Кол-во элементов на странице и т.д. При скорости интернета 20 мб+ вообще не возникает проблем, но это явно лучше чем комплит, один маленький запрос не ушёл и просто зря провисишь. Да и человек не ждет пока все запросы не уйдут.

  • @FastSpace Ну шо ты дразнишь?)) Дай в паблик это :)

  • Можете немного объяснить, как это юзать? У меня ещё периодически при ожидании элемента не срабатывает, когда элемент уже есть.

  • @Antonio Пока что "это" нам не дали... Но я уже начал выпрашивать )

  • @centerdevs Это уже паблик :) вон там написано же все. Ява скрипт вызови прост document.readyState получишь статус.

  • @FastSpace согласен) уже делаю, спасибо за наводку :)

  • @FastSpace реализовал, пока что работает кривовато...

    Бывает после клика по элементу с dom еще ничего не началось и readyState отвечает complete. Ты юзаешь обязательную задержку перед началом проверок?

    alt text

    Вот дефолтные настройки. По ним я думаю ты понял алгоритм работы ) + если interactive то есть условие на количество елементов между двумя последними итерациями проверки, если количество сошлось - значит делаем вывод что страница прогружена даже при статусе interactive.

  • @centerdevs said in Как универсально ускорить "Ждать полной загрузки страницы":

    @FastSpace реализовал, пока что работает кривовато...

    Бывает после клика по элементу с dom еще ничего не началось и readyState отвечает complete. Ты юзаешь обязательную задержку перед началом проверок?

    Я знаю, там еще много приколов будет.

    Оно и не должно выполнятся, т.к клик возможно был на элемент который не предполагает загрузок (выпадающие списки и т.д)
    Задержек никаких нет, они и не нужны.

  • @FastSpace Дай совет ) Что еще важно реализовать? Пока она не особо юзабельно получается, я заменил везде свои "ждуны" и естесвенно получилась анархия в работе скрипта) вернул обратно, а скрипт большой я даже хз с чего начинать, надо каждый случай отдельно рассматривать + каждый фикс делать чтобы не поломать что-то другое )

  • @centerdevs said in Как универсально ускорить "Ждать полной загрузки страницы":

    @FastSpace Дай совет ) Что еще важно реализовать? Пока она не особо юзабельно получается, я заменил везде свои "ждуны" и естесвенно получилась анархия в работе скрипта) вернул обратно, а скрипт большой я даже хз с чего начинать, надо каждый случай отдельно рассматривать + каждый фикс делать чтобы не поломать что-то другое )

    Там много всего, готовое решение не даю и 20+ случаев не распишу, но куда копать рассказал.

  • @FastSpace вроде допилил и стало лучше, но еще не идеал... ты ловишь глобально все ajax запросы и их состояние, помимо простого readyState на документ?

  • Протестил, реально при отправке ajax запроса, статус идёт как complete и dom не меняется. То есть надо еще ловить эти события и ждать пока они получат ответ, и тогда можно делать вывод о том страница догружена. В соседней ветке пытаюсь понять как передать из яваскрипта значение в бас переменные и буду двигаться дальше )

  • @centerdevs как допилите поделитесь?

  • @lotra в личку скину, потому что @FastSpace мне даст по хребту )

  • @centerdevs Это ваши личные наработки, и никакой другой человек вам тут не указ. Хотите - выкладывайте в паблик, не хотите - оставляйте себе. То, что вы немного улучшили стандартные механизмы БАСа, не добавит вам +100500% конкуренции, а лишь немного улучшит другим людям жизнь в случае публикации наработок

  • @DoctorKrolic Полностью согласен, но мне никто и не указывал ничего, FastSpace дал сразу все наводки что и как делать, сам прямо заявил что своё решение в паблик не хочет давать, чисто из солидарности я решил что выкладывать в таком случае тоже не буду. По сути я делаю чисто механическую работу по его косвенным и прямым указаниям )

  • @centerdevs буду благодарен если сделаете.

  • @centerdevs правильно, незачем выкладывать, кому надо тот сам сделает, я этим вопрос ещё 3 года назад на форуме задался, такой дичи в теме понаписали "советчики" 😟
    Этот интерактив решает ещё до кучи проблем, в виде повторного лоада без багов и т.д. Этот баг там уже несколько лет висит :)

  • @FastSpace мне то в личку можно? Я тихонько.

  • 0 Votes
    5 Posts
    641 Views
  • 0 Votes
    8 Posts
    756 Views
  • 0 Votes
    2 Posts
    1036 Views
  • 0 Votes
    3 Posts
    785 Views
  • 0 Votes
    7 Posts
    2719 Views