Ожидатель селекторов

Делитесь модулями
  • @FastSpace причем тут твой интерактив? Контент может подгружаться уже после данного события и контент отрисовываться соответственно тоже. Может быть даже так, что сначала загрузиться просто какой-то loader(заставка), статус загрузки изменитьсч на интерактив, но по факту ещё ничего не загружено.

    Кэш тоже про другое, он не всегда подходит, точнее не всегда есть смысл так усложнять процесс, потому что бывает надо анализировать ответ запроса.

  • @UserTrue это всё редкие случаи, для iframe подойдёт мож, но тут и есть решение.
    Просто для себя, сначала жду интерактив и работаю с селекторами, работать с ними в статусе loading это словить тайм-аут или зависон :)

  • @FastSpace это не редкие случаи, это сплошь и рядом, если это не сайт лендинг.

  • @UserTrue ну так когда найдены были селекторы контент тоже может подгружаться после. В своей сборке использую интерактив и ожидание кэша, нет проблем с таймаутами. На кучу потоков всё гладко без ошибок. В моём случае это связка не подводит в 95% случаев.
    Ладно не будем холиварить, руки дойдут я мож сделаю нормальный модуль ожиданий событий в браузере.

  • @FastSpace said in Ожидатель селекторов:

    @UserTrue ну так когда найдены были селекторы контент тоже может подгружаться после. В своей сборке использую интерактив и ожидание кэша, нет проблем с таймаутами. На кучу потоков всё гладко без ошибок.
    Ладно не будем холиварить, руки дойдут я мож сделаю нормальный модуль ожиданий событий в браузере.

    Ну вот это действительно супер редкий случай и тут надо кэш использовать. Обычно когда контент динамический, то элемент который его содержит или просто не виден, либо вообще отсутствует. И почти всегда можно составить селектор который будет виден только когда есть контент. Для 99% случаев костыли с кэшем не нужны, потому что не всегда достаточно просто проверить был ли запрос, запросы могут отличаться только параметрами тела запроса и тогда надо проверять ответ, а это уже сложней. А может быть вообще websocoket и что тогда?))

  • @UserTrue said in Ожидатель селекторов:

    А может быть вообще websocoket и что тогда?

    код js обработки websocoket можно модифицировать для своих целей.
    жаль в бас нет нативного для работы с вебсокет.

  • @tet-vivi said in Ожидатель селекторов:

    @UserTrue said in Ожидатель селекторов:

    А может быть вообще websocoket и что тогда?

    код js обработки websocoket можно модифицировать для своих целей.
    жаль в бас нет нативного для работы с вебсокет.

    это уже другая история, я много чего могу, но не все это это легко сделать простым и доступным для большинства да и в большинстве случаев это и не надо. Большинству достаточно проверить селектор.

  • @UserTrue websocoket вроде не так уж и распространён

  • @tet-vivi said in Ожидатель селекторов:

    @UserTrue websocoket вроде не так уж и распространён

    это к чему? случаи когда кода нельзя обойтись селектором ещё менее распространены )

  • Вот как я Люблю Споры этих наших Двух ребят, в их Спорах можно научиться многому :)
    А Модуль сам имеет место быть так сказать, почему нет мол :)

  • @super84 said in Ожидатель селекторов:

    Вот как я Люблю Споры этих наших Двух ребят, в их Спорах можно научиться многому :)
    А Модуль сам имеет место быть так сказать, почему нет мол :)

    Самое интересное, что когда @olegtut сделал такой модуль, то никто не спорил. А тут видимо ревность какая-то )) Я не использовал тот модуль в первую очередь из-за невозможности сохранить результат в отдельные переменные, я люблю осмысленные названия переменных и поэтому для меня это было важным.

    Ну а так то могу удалить тему, если модуль так раздражает )) Кто успел скачать того и тапки xD

  • @UserTrue said in Ожидатель селекторов:

    @super84 said in Ожидатель селекторов:

    Вот как я Люблю Споры этих наших Двух ребят, в их Спорах можно научиться многому :)
    А Модуль сам имеет место быть так сказать, почему нет мол :)

    Самое интересное, что когда @olegtut сделал такой модуль, то никто не спорил. А тут видимо ревность какая-то )) Я не использовал тот модуль в первую очередь из-за невозможности сохранить результат в отдельные переменные, я люблю осмысленные названия переменных и поэтому для меня это было важным.

    Ну а так то могу удалить тему, если модуль так раздражает )) Кто успел скачать того и тапки xD

    Людям порой не угодишь, сегодня им нужно одно, завтра другое. Поэтому если считаешь нужно, значит нужно. А так думаю тут не ревность, а желание поспорить. От себя скажу что бывали моменты когда сайт выдавал кучу ошибок и их все нужно было обрабатывать, в таком случае подобный модуль бы пригодился, чем захламлять скрипт кучей IF.

  • @UserTrue А для чего столько инпутов? Проще было сделать один инпут с кнопками "добавить" и "удалить"

  • @Fox said in Ожидатель селекторов:

    @UserTrue А для чего столько инпутов? Проще было сделать один инпут с кнопками "добавить" и "удалить"

    Можно было и так. Но мне так удобней, не надо ничего добавлять удалять. 20 инпутов я думаю хватит с избытком. Я специально перенес кнопки сохранения вверх, чтобы не приходилось скролить все инпуты.

  • @FastSpace said in Ожидатель селекторов:

    интерактив и ожидание кэша

    Что за штуки? Первое - это эмуляция ожидания? А второе? Проблема эта задрала. В многопотоке, за частую, страницы просто отказываются прогружаться. Почитываю иногда форум, вижу тут кто-то говорит про 250, про 500 потоков. Я просто в осадочке. Как это все работает без ошибок.. Я всего 20 потоков, и все, понеслась - страницы не прогружаются, элементы не прогружаются. Большинство потоков заканчивается ошибкой из-за таймаутов

  • @realmedvedev said in Ожидатель селекторов:

    @FastSpace said in Ожидатель селекторов:

    интерактив и ожидание кэша

    Что за штуки? Первое - это эмуляция ожидания? А второе? Проблема эта задрала. В многопотоке, за частую, страницы просто отказываются прогружаться. Почитываю иногда форум, вижу тут кто-то говорит про 250, про 500 потоков. Я просто в осадочке. Как это все работает без ошибок.. Я всего 20 потоков, и все, понеслась - страницы не прогружаются, элементы не прогружаются. Большинство потоков заканчивается ошибкой из-за таймаутов

    Следите за нагруженностью системы, браузер не любит, когда система нагружена на 100%

  • @Fox да у меня хорошая машина, она даже в половину не загружена.
    сейчас работает в 10 потоков и всё равно периодически всплывают такие:
    net::ERR_CONNECTION_TIMED_OUT
    net::ERR_TIMED_OUT
    net::ERR_CERT_COMMON_NAME_INVALID
    Не удалось получить страницу http://ip.bablosoft.com/?requestid=91983 с помощью ХТТП клиента

    Он не то, чтобы не успевает прогрузить страницу. Он отсылает запрос на сайт, а сайт сразу отдаёт серый экран с ошибкой - мол, не удалось загрузить страницу. Скрипт не находит нужный элемент и заканчивается таймаутом. Приходится постоянно делать в скрипте перепроверки - прогрузилась ли страница. В режиме записи всё ок, а вот в многопотоке на постоянной основе эта проблема

  • @realmedvedev said in Ожидатель селекторов:

    @Fox да у меня хорошая машина, она даже в половину не загружена.
    сейчас работает в 10 потоков и всё равно периодически всплывают такие:
    net::ERR_CONNECTION_TIMED_OUT
    net::ERR_TIMED_OUT
    net::ERR_CERT_COMMON_NAME_INVALID
    Не удалось получить страницу http://ip.bablosoft.com/?requestid=91983 с помощью ХТТП клиента

    Он не то, чтобы не успевает прогрузить страницу. Он отсылает запрос на сайт, а сайт сразу отдаёт серый экран с ошибкой - мол, не удалось загрузить страницу. Скрипт не находит нужный элемент и заканчивается таймаутом. Приходится постоянно делать в скрипте перепроверки - прогрузилась ли страница. В режиме записи всё ок, а вот в многопотоке на постоянной основе эта проблема

    Вы уверены, что ваше сообщение связано с текущей темой?

  • @UserTrue Не не в Коим Случае не Удаляй, пох что там думают, я например в Закладочки склал и Примерно вижу где он может Облегчить мне жизнь мол :)))

    Я на ваших Советах с Фоксом и ещё некоторых (споров ваших с Фэтспайсом мол ток).
    Ты умный Чел и тебе вообще должно быть Пох :)))

    4985fccf-8649-485e-840f-2df8ad2ca678-image.png

  • @realmedvedev said in Ожидатель селекторов:

    @FastSpace said in Ожидатель селекторов:

    интерактив и ожидание кэша

    Что за штуки? Первое - это эмуляция ожидания? А второе? Проблема эта задрала. В многопотоке, за частую, страницы просто отказываются прогружаться. Почитываю иногда форум, вижу тут кто-то говорит про 250, про 500 потоков. Я просто в осадочке. Как это все работает без ошибок.. Я всего 20 потоков, и все, понеслась - страницы не прогружаются, элементы не прогружаются. Большинство потоков заканчивается ошибкой из-за таймаутов

    Чтобы такого не происходило нужны циклы ожидания.
    Сначала делаешь какое-нибудь действие, если результат это действия будет загрузка страницы целиком, либо часть загрузки, то запускаешь цикл с интерактив и можно еще вайт кэш. Метод document.readyState и метод с кэшем в выполнить код wait_load (маска) . Можно погуглить.
    Всё этот цикл завершается корректно и дальше можно работать с элементами. Не нужно вызывать их ожидание через "Проверить существование", плодить кучу if и т.д. 1 функция интерактив + вай кэш. Вызывать в тех местах где пошла загрузка страницы (например после клика на кнопку)
    Работает почти в 95% случаев, кроме парочки сайтов. На такой случай у меня костыль на количество элементов на странице.