Как добиться 100% загрузки страницы.

Поддержка
  • Добрый день, друзья!
    Автору в очередной раз спасибо за софт!
    Мой вопрос наверняка нубский и уже имеет решение. Но мне кажется, ответ на него может быть полезен новичкам, поэтому я не стал его задавать в личку саппорту. Изложу суть тут.
    В моей работе частенько не загружаются некоторые страницы и скрипт останавливается. Причем это могут быть не только специфические внутренние страницы сайтов, но и общеизвестные морды сайтов в духе mail.ru ))
    Пока у меня так и не получилось победить эту задачу, вероятно, я что-то делаю не так ) Решаю ее, обычно, следующим образом
    0_1485155654937_скрин.png
    Если на словах, то загружаем страницу один раз, проверяем появление лого сайта (так собственно и понимаем, что сайт загрузился). Ну и дальше в цикле (с условием входа - лого существует = true) грузим нужный сайт до тех пор, пока лого не появится.
    Мне кажется, решение довольно топорное. Да, можно объявить булеву переменную до цикла и этим облегчить код. Пока не научился делать это при помощи готовых функций bas, но знаю, что в принципе объявить и присвоить булево значение переменной возможно.
    Извращался с ответом сервера, но суть та же и, почему-то часто ответ 404 даже на загруженной странице.
    Также, мне кажется тут мог бы помочь цикл с постусловием типа do-while. Но я так понял, его в bas пока нет и придумал его альтернативу выше )
    Может вообще готовая функция есть да я ее не вижу.
    Как Вы решаете такие задачи?

  • @xclsv Ну если мне очень нужно дождаться загрузки я просто ставлю время на полную загрузку побольше и проблем вроде не было.

  • @Canine said in Как добиться 100% загрузки страницы.:

    @xclsv Ну если мне очень нужно дождаться загрузки я просто ставлю время на полную загрузку побольше и проблем вроде не было.

    С ожиданием загрузки страниц проблем пока не возникало. Вопрос в том как победить ситуацию, когда по каким-то причинам сервер не отдал страницу вообще.

  • @xclsv Загрузку страницы в игнорировать ошибки и вставить переменную WAS_ERROR в IF и все это можно в отдельную функцию, если нужно много раз повторять, можно еще счетчик сделать, чтобы больше столики то раз не пытался выполнить.

  • @xclsv Как то такalt text

  • @Canine said in Как добиться 100% загрузки страницы.:

    @xclsv Загрузку страницы в игнорировать ошибки и вставить переменную WAS_ERROR в IF и все это можно в отдельную функцию, если нужно много раз повторять, можно еще счетчик сделать, чтобы больше столики то раз не пытался выполнить.

    0_1485156956541_скрин.png

    Вот так? У меня почему-то break не срабатывает. Ищу ошибку )

  • @xclsv Cделайте в функцию отдельную, как я показал, так мне кажется легче

  • @Canine said in Как добиться 100% загрузки страницы.:

    @xclsv Как то такalt text

    А, получится рекурсивная функция! Отличное решение!

  • @xclsv Можно перед этим установить переменную с номером и перед вызовом функции прибавлять и сделать условие если она больше например 100, то переходим к тому то действию или выдаем ошибку скрипта.

  • @Canine said in Как добиться 100% загрузки страницы.:

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

    Дада! Чтобы 3 раза попробовал, не получилось - до свидания. Отличное решение! Спасибо большое!

  • В процессе поисков пытался использовать функцию Ждать Загрузки URL. Она может как-то помочь тут? Зачем она вообще нужна?

  • @xclsv Такой функцией не пользовался, всегда ставил только это для полной загрузки страницы. alt text

  • @Canine said in Как добиться 100% загрузки страницы.:

    @xclsv Такой функцией не пользовался, всегда ставил только это для полной загрузки страницы. alt text

    Ну вот и я также. Помогает всегда за исключением случаев, когда удаленный сервер вообще не отдает ничего (404).