javascript - 如何在继续运行代码的同时通过更改 URL 转到新页面?
问题描述
我有一个 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() 单击项目时一样执行?
解决方案
如果您想保留来自多个选项卡的数据或结果,后台脚本可能是个好地方。让内容脚本执行点击、数据收集等操作,并将数据发送回后台脚本来存储数据。
推荐阅读
- c++ - 用于 roi 的函数调用 rect
- rabbitmq - RabbitMQ 锁消息组
- java - 如何阻止 else 的永恒重复?else 函数在 while (true) 循环中永远重复。爪哇
- c# - 如何在 C# 中迭代 JSON 并将每个对象添加到 List?
- c# - 获取请求标头始终为空
- powershell - Azure 发布管道:从 PowerShell 任务启动应用程序并使其在多个阶段运行
- python - 遍历列表后摆脱结果中的额外字符串
- java - 如何在 Android Studio 中显示高分辨率的图像?
- sql - 选择具有分组依据和条件的查询
- r - 查找患者 ID 至少出现两次以上