Вероятно, мне следует предвосхитить это, сказав, что я не большой разработчик JS, но у меня большой опыт работы с языками более низкого уровня.По сути, у меня есть 5 отдельных URL-адресов, и все они отключены только на один символ (это последовательный набор чисел), поэтому я перебираю их и использую window.open(URL)
для открытия страниц.Я пытаюсь прочитать данные с только что открытой веб-страницы и сохранить их в массиве.Страницы, которые я открываю, содержат только несколько букв и могут быть легко доступны с помощью varUsedToStorePage.document.body.innerHTML
;однако у меня начались проблемы, потому что данные, которые возвращались после выполнения моего кода, не были ожидаемыми.Я получал массивы, которые показывали пустой набор скобок в консоли, но при расширении должны были бы быть все 5 значений, а также, если бы я вернулся в консоль после запуска и просто набрал arrayName
, он напечатал бы значения обычно сбез вопросов.Изображение, показанное здесь: Imgur Я просто не совсем уверен, что следующий шаг должен сделать.Я пробовал несколько разных вещей.Я посмотрел обещания и async / await и попытался выполнить, но безрезультатно.Возможно, мне мешает то, что я знаю об этом, несмотря на тщательное онлайн-чтение.
Вот суть кода, с которым я работал большую часть времени.В нем было много настроек и попыток получить желаемый результат.
let clockValues = [];
function x(){
for(let i = 1; i < 6; i++){
let page = window.open("URLHERE");
page.addEventListener("load", function(){
clockValues.push(page.document.body.innerHTML);
}, true);
});
}
}
x();
console.log(clockValues);
Одна вещь, которая заставила меня задуматься, это то, как на самом деле получить доступ к информации об открываемой странице.Я наконец узнал о page.addEventListener
и предположил, что это может быть одной из причин, по которой у меня возникли проблемы, даже при получении данных в начале, потому что, возможно, контент не был загружен на веб-странице.
Чтобы добавить к этому, главная причина, по которой у меня возникают проблемы, заключается в том, что я разочарован, потому что простые команды, такие как clockValues.join("")
, отображаются пустыми или пустыми при запуске с моим кодом, но когда они помещаются вКонсоль после того, как она выполняется, работает отлично.Будем весьма благодарны за любые указания или шаги в этом направлении.