Как добиться 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).


Log in to reply
 

Looks like your connection to Bablosoft was lost, please wait while we try to reconnect.