#javascript #google-chrome-extension #html5-history #history.js
#javascript #google-chrome-расширение #html5-история #history.js
Вопрос:
У меня есть расширение Chrome, которое выбирает все элементы на странице и щелкает по ним один за другим. Затем он нажимает на несколько других кнопок на отдельных страницах элементов.
allItems = document.getElementsByClassName('items');
for (let i = 0; i < allItems.length; i ) {
let currentItem = allItems[i];
currentItem.click();
// PAUSE, then on the next page click on edit button
editButton.click();
// PAUSE, then on the next page click on save button
saveButton.click();
// PAUSE, then go back to the home page and click on next item
homePageButton.click();
}
Все это работает нормально (я использую асинхронную функцию, чтобы оставлять паузу между загрузками страницы).
Но теперь я хочу перейти на страницу каждого элемента, изменив URL, а не щелкая по каждому элементу с помощью .click() .
Моя проблема в том, что если я использую что-то вроде window.open, страница перезагружается, и код перестает выполняться.
Как я могу перейти на новую страницу, изменив URL-адрес, и при этом разрешить выполнение моего кода, как это происходит, когда я нажимаю на элементы с помощью .click() ?
Комментарии:
1.
window.open
открывает новое окно, поэтому неясно, почему текущая страница перезагружается, поскольку они не должны быть связаны. Возможно, в вашем коде есть проблема, покажите ее.2. Когда открывается новая страница, это новый URL, означающий, что должна загружаться новая страница содержимого. У вас есть разрешение на новый URL? Как только вы нажмете на кнопку открыть, ваша текущая страница содержимого не появится на новой странице.
3. Спасибо @darbid, то, что вы описали, — это именно моя проблема. Есть ли какой-либо способ заставить текущую страницу содержимого перейти на новую страницу?
4. По моему опыту, нет. Новая вкладка новая страница содержимого. Но если есть способ, wOxxOm узнает.
Ответ №1:
Если вы хотите сохранить данные или результаты с нескольких вкладок, фоновый скрипт может быть подходящим местом. Пусть сценарий содержимого выполняет клики, сбор данных и т. Д. И Отправляет данные обратно в фоновые скрипты, где данные будут храниться.