0

我有一个新闻提要脚本,它从数据库中检索新项目并时不时地通知用户。问题是我也有一个历史 API 脚本,所以如果用户离开主页(新闻提要所在的位置),该功能仍然执行,我的服务器有问题。所以,我想我会将时间间隔设置为处理程序,并在页面 url 不用于主页时清除它。

var currentUrl = $(location).attr('pathname');
var url = currentUrl.replace('/', '');
var handle=self.setInterval(function(){newsCheck()},1000); //set up interval handler for cancellation when not on home page

if (url != 'Home' ){ //timeout newsCheck
       handle = window.clearInterval(handle);
}

然而,这不起作用,因为间隔永远不会被清除。哦,我应该说它可以在 DOM 上运行,可能与它有关。

我在想,由于历史 api 脚本不会在每次url变量保持不变并且函数继续运行时重新运行此新闻提要脚本。解决它的明显方法是将其放入clearInterval历史 api 脚本中,但当然变量和函数不存在。

我需要解决这个问题,但是;

1.我不想再运行ajax请求了,已经够多了。

2.解决方案必须是轻量级的,如果不是我还不如让它在后台静默运行。

4

0 回答 0