请教一个 JS 的逻辑问题

2017-07-06 16:55:55 +08:00
 wafm

贴出代码:

问题背景:

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

问题描述:

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

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

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

请教:

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

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

1081 次点击
所在节点    问与答
4 条回复
zenxds
2017-07-06 17:16:05 +08:00
clearTimeout 不就完了
wafm
2017-07-06 17:32:19 +08:00
@zenxds 问题是现在不清楚如何判断离开当前的页面
IamJ
2017-07-06 18:00:36 +08:00
不是有个 beforeunload 事件么,试过没
wafm
2017-07-08 16:41:31 +08:00
@IamJ 尝试过了 也没作用 奇怪的很

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

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

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

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

© 2021 V2EX