我有一个新闻Feed脚本,可以从数据库中检索新项目,并且不时地通知用户。问题是我也有一个历史api脚本,因此如果用户离开主页(新闻源的位置),该功能仍然执行,我的服务器出现问题。所以,我认为我将间隔设置为处理程序,并在页面网址不是主页时将其清除。
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。解决方案必须轻巧,好像不是我也可以让它在后台默默运行。