V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
tacbob
V2EX  ›  问与答

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

  •  
  •   tacbob · 2021-08-30 11:00:16 +08:00 · 1332 次点击
    这是一个创建于 1211 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    7 条回复    2021-08-30 12:22:50 +08:00
    InDom
        1
    InDom  
       2021-08-30 11:03:22 +08:00
    要不换个思路?

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

    跳转后,循环检查值不为 true 然后检查特定元素出现后(加载完毕)再执行脚本。
    liyang5945
        2
    liyang5945  
       2021-08-30 11:25:35 +08:00
    试试 readystatechange 有用不
    ch2
        3
    ch2  
       2021-08-30 11:30:42 +08:00
    你可以显式等待
    tacbob
        4
    tacbob  
    OP
       2021-08-30 11:40:40 +08:00
    @ch2 谢谢,可以讲详细点吗?
    tacbob
        5
    tacbob  
    OP
       2021-08-30 11:40:57 +08:00
    @InDom 我想了一下好像没有比较好的方法判断执行是否成功
    tacbob
        6
    tacbob  
    OP
       2021-08-30 11:41:09 +08:00
    @liyang5945 谢谢
    0o0o0o0
        7
    0o0o0o0  
       2021-08-30 12:22:50 +08:00
    MutationObserver
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1012 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 21:29 · PVG 05:29 · LAX 13:29 · JFK 16:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.