V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
tacbob
V2EX  ›  问与答

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

  •  
  •   tacbob · Aug 30, 2021 · 1954 views
    This topic created in 1702 days ago, the information mentioned may be changed or developed.

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

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

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

    7 replies    2021-08-30 12:22:50 +08:00
    InDom
        1
    InDom  
       Aug 30, 2021
    要不换个思路?

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

    跳转后,循环检查值不为 true 然后检查特定元素出现后(加载完毕)再执行脚本。
    liyang5945
        2
    liyang5945  
       Aug 30, 2021
    试试 readystatechange 有用不
    ch2
        3
    ch2  
       Aug 30, 2021
    你可以显式等待
    tacbob
        4
    tacbob  
    OP
       Aug 30, 2021
    @ch2 谢谢,可以讲详细点吗?
    tacbob
        5
    tacbob  
    OP
       Aug 30, 2021
    @InDom 我想了一下好像没有比较好的方法判断执行是否成功
    tacbob
        6
    tacbob  
    OP
       Aug 30, 2021
    @liyang5945 谢谢
    0o0o0o0
        7
    0o0o0o0  
       Aug 30, 2021
    MutationObserver
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5671 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 07:42 · PVG 15:42 · LAX 00:42 · JFK 03:42
    ♥ Do have faith in what you're doing.