@tts9 не, мне надо чтоб старый прокси не менялся. мне нужно 2 прокси 1 для украинского сайта, другой для русского.
p.s укр прокси 30% не работают на русском сайте(ЯД) ограничение ip 2018года их президентом, но тут для русского сайта можно применить функцию проксификация только для урл, которая увЫ не работает((
Как универсально ускорить "Ждать полной загрузки страницы"
-
У меня по всему проекту распиханы эти ждуны в таком виде:

И всегда отработка этой функции занимает минимум 4-5 секунд, я так понимаю на протяжении этого времени Бас проверяет меняется ли что-то в dom, если нет - принимает решение что страница загружена полностью.
Кто знает как ускорить работу этого, или как придумать универсальное красивое решение которое будет работать по тому же принципу но быстрее.
Почему я не использую "Ждать появления элемента" на всех блоках, вместо "Ждать полной загрузки" - если у нас есть форма заказа которая состоит из 3 шагов, и на каждом шаге нужно нажимать "Далее"... то если использовать ожидание появления, скрипт быстро прокликает трижды кнопку на первом шаге. Это абстрактный пример, но в моём скрипте эта ситуация происходит повсеместно )
-
@centerdevs это стремный ждун, там ток статус комплит. Тебе нужно документ статус значение интерактив
-
Дай сниппет плиз если есть уже такое протесченное?)
Я так понимаю ты про это
switch (document.readyState) { case "loading": // The document is still loading. break; case "interactive": // The document has finished loading. We can now access the DOM elements. // But sub-resources such as scripts, images, stylesheets and frames are still loading. const span = document.createElement("span"); span.textContent = "A <span> element."; document.body.appendChild(span); break; case "complete": // The page is fully loaded. console.log("The first CSS rule is: " + document.styleSheets[0].cssRules[0].cssText); break; }если правильно понял, в случае если сайт это сплошной SPA - то интерактив может не отработать та как надо, потому что какой-то недогруженный JS мог в себе иметь какой-то нужный html который не успеет впилиться в dom, а событие уже сработает и скрипт продолжит работу )
-
@centerdevs said in Как универсально ускорить "Ждать полной загрузки страницы":
если правильно понял, в случае если сайт это сплошной SPA - то интерактив может не отработать та как надо, потому что какой-то недогруженный JS мог в себе иметь какой-то нужный html который не успеет впилиться в dom, а событие уже сработает и скрипт продолжит работу )
Все это костылями можно проверить после интерактива. Кол-во элементов на странице и т.д. При скорости интернета 20 мб+ вообще не возникает проблем, но это явно лучше чем комплит, один маленький запрос не ушёл и просто зря провисишь. Да и человек не ждет пока все запросы не уйдут.
-
@FastSpace Ну шо ты дразнишь?)) Дай в паблик это :)
-
@centerdevs Это уже паблик :) вон там написано же все. Ява скрипт вызови прост document.readyState получишь статус.
-
@FastSpace согласен) уже делаю, спасибо за наводку :)
-
@FastSpace реализовал, пока что работает кривовато...
Бывает после клика по элементу с dom еще ничего не началось и readyState отвечает complete. Ты юзаешь обязательную задержку перед началом проверок?

Вот дефолтные настройки. По ним я думаю ты понял алгоритм работы ) + если 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 буду благодарен если сделаете.