在跨页面导航持续存在的选项卡中执行 JavaScript
Execute JavaScript in tab persisting across page navigation
我正在尝试弄清楚如何自动执行点击事件,以便自动推进一系列项目队列。以下是具体细节:
- 有 1 个或多个项目队列(在此脚本中由用户确定)
- 每个队列都有可变数量的项目
- 队列页面的URL是静态的
- 每个队列都是通过单击队列页面上的按钮启动的
- 队列页面按钮的
querySelector
是静态已知的
- 单击队列页面上的按钮加载队列中第一项的页面
- 每个项目页面都在不同的 URL(与队列开始同源 URL)
- 单击项目页面上的按钮加载下一个项目的页面
- 商品页面的按钮
querySelector
是静态已知的
- 在队列中最后一项的页面上,单击按钮加载队列页面
这是流程的可视化图表:
编写完成此任务的脚本后,我意识到我无法在页面导航中保留 运行 脚本(至少我不这么认为)。我什至考虑制作 Chrome 扩展并使用 content scripts,但我认为这不会在页面导航中保留 js。
我怎样才能实现我的目标?
sessionStorage
or localStorage
可以帮助您存储跨页面转换的简单数据。
另一种选择是查看可以为您提供 javascript 路由的框架或库。路由将允许您的 javascript 在页面加载期间保持不变,并允许您在应用程序周围传递更复杂的数据而不会丢失状态。
我正在尝试弄清楚如何自动执行点击事件,以便自动推进一系列项目队列。以下是具体细节:
- 有 1 个或多个项目队列(在此脚本中由用户确定)
- 每个队列都有可变数量的项目
- 队列页面的URL是静态的
- 每个队列都是通过单击队列页面上的按钮启动的
- 队列页面按钮的
querySelector
是静态已知的 - 单击队列页面上的按钮加载队列中第一项的页面
- 每个项目页面都在不同的 URL(与队列开始同源 URL)
- 单击项目页面上的按钮加载下一个项目的页面
- 商品页面的按钮
querySelector
是静态已知的 - 在队列中最后一项的页面上,单击按钮加载队列页面
这是流程的可视化图表:
编写完成此任务的脚本后,我意识到我无法在页面导航中保留 运行 脚本(至少我不这么认为)。我什至考虑制作 Chrome 扩展并使用 content scripts,但我认为这不会在页面导航中保留 js。
我怎样才能实现我的目标?
sessionStorage
or localStorage
可以帮助您存储跨页面转换的简单数据。
另一种选择是查看可以为您提供 javascript 路由的框架或库。路由将允许您的 javascript 在页面加载期间保持不变,并允许您在应用程序周围传递更复杂的数据而不会丢失状态。