各位老哥,JS 怎么实现跳转页面,等待页面加载完再执行?

2021-08-30 11:00:16 +08:00
 tacbob

最近在写一个插件爬电商网站,因为需要翻页,所以用 window.location.href 来进行页面跳转,但是发现跳转完之后页面还没加载完,后面的代码就执行结束了,抓取到的还是跳转之前的信息.

这种情况下应该怎么写呢?

尝试了使用 window.onload 和 document.ready 好像都不太行,onload 和 ready 里的代码从来就没有执行过

1294 次点击
所在节点    问与答
7 条回复
InDom
2021-08-30 11:03:22 +08:00
要不换个思路?

首先保证每个页面只执行一次(执行成功后设置页面某值为 true )

跳转后,循环检查值不为 true 然后检查特定元素出现后(加载完毕)再执行脚本。
liyang5945
2021-08-30 11:25:35 +08:00
试试 readystatechange 有用不
ch2
2021-08-30 11:30:42 +08:00
你可以显式等待
tacbob
2021-08-30 11:40:40 +08:00
@ch2 谢谢,可以讲详细点吗?
tacbob
2021-08-30 11:40:57 +08:00
@InDom 我想了一下好像没有比较好的方法判断执行是否成功
tacbob
2021-08-30 11:41:09 +08:00
@liyang5945 谢谢
0o0o0o0
2021-08-30 12:22:50 +08:00
MutationObserver

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/798785

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX