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

请教一个 JS 的逻辑问题

  •  
  •   wafm · 2017-07-06 16:55:55 +08:00 · 1075 次点击
    这是一个创建于 2503 天前的主题,其中的信息可能已经有所发展或是发生改变。

    贴出代码:

    Markdown

    问题背景:

    JQ 加载在框架之上,也就是说切换页面 JQ 句柄并没有销毁.

    问题描述:

    通过取 id='desktop'判断是否是在当前页面 是的话则执行 task 事件 并且循环.

    如果不停的返回本页面 会重复执行 task 导致不停的有 setTimeout 事件产生,内存剧增.

    即使不返回,据观察也是执行了很多次的 task,导致内存剧增.

    请教:

    尝试过 setInterval,但是这个方法的话 离开页面 时钟也无法停止 因为切换页面 JQ 句柄并没有销毁掉,所以导致时钟一直在运行.

    尝试过 JQ 的 unload 事件发现无效,我的思路是 判断离开页面时就清除掉循环 进入则开始 请教一下各位大佬该如何解决?

    4 条回复    2017-07-08 16:41:31 +08:00
    zenxds
        1
    zenxds  
       2017-07-06 17:16:05 +08:00
    clearTimeout 不就完了
    wafm
        2
    wafm  
    OP
       2017-07-06 17:32:19 +08:00
    @zenxds 问题是现在不清楚如何判断离开当前的页面
    IamJ
        3
    IamJ  
       2017-07-06 18:00:36 +08:00
    不是有个 beforeunload 事件么,试过没
    wafm
        4
    wafm  
    OP
       2017-07-08 16:41:31 +08:00
    @IamJ 尝试过了 也没作用 奇怪的很
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1285 人在线   最高记录 6547   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 17:53 · PVG 01:53 · LAX 10:53 · JFK 13:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.