Как правильно перезагрузить сайт в контексте phantomJS javascript?

Цель этого вопроса - исключить любые ошибки в моем коде javascript, поскольку я новичок в этом языке.

Согласно ответу это, я использую следующий код для перезагрузки веб-сайта в контексте phantomJS в случае, если начальная загрузка занимает больше времени, чем определенный порог:

var timer;                                        // Define timeout outside function
this.onLoadFinished = function(){                 // If page is loaded
    window.clearTimeout(timer);                   // Clear timeout function
    console.info("Page loaded - CLEAR timeout");   // Announce cleared timeout
    timer = window.setTimeout(function(){         // And set new timeout
        console.info("SET Timeout for page load"); // Announce set timeout
        window.location.reload();                 // Reload page
        console.info("PAGE reloaded")              // Announce reload
        }, 90000);                                // After 90 sec
    };

В полученном Ghostdriver.log я вижу, что тайм-аут был установлен и очищен. Также указана перезагрузка.

Однако перезагрузки не происходит, потому что мой скрипт бесконечно зависает.:

phantomjs://platform/console++.js:263 in error
Page loaded - CLEAR timeout
SET Timeout for page load
PAGE reloaded
[INFO  - 2018-03-30T01:40:56.448Z] SessionManagerReqHand - 
      _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[ERROR - 2018-03-30T01:37:11.140Z] RouterReqHand - 
      _handle.error - {"name":"Missing Command Parameter","message":.....[shortened]

Вопрос:

Как правильно перезагрузить страницу в случае тайм-аута в javascriptphantomJSконтекст?


Еще одно решение, которое я пробовал, - это:

this.settings.ressourceTimeout = 90000
this.onRessourceTimeout = function(){
    this.reload();

Это тоже не сработало по причинам, подробно описанным здесь (в двух словах, начиная с phantomJS 1.9.8 и его встроенного Ghostdriver, resourceTimeout не будет применяться Ghostdriver).

window.location.reload(true);?
Meghan 30.03.2018 04:36

Я пробовал это и обновил свой вопрос - поведение такое же, как с window.location.reload (true)

sudonym 30.03.2018 05:38
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
113
0

Другие вопросы по теме