多个文件调用同一JS,JS中的setInterval怎样只在一个页面执行

huyabb 2011-02-09 11:06:43
我建立了一个public.js的文件,里面写有一个函数fun_ajax,这个函数是操作数据库的,且通过setInterval周期调用这个函数fun_ajax.
我在整个项目的所有页中都引用了public.js 这个文件,但顾虑的问题是,同时打开多个页面,而每个页面都会去周期调用fun_ajax这个函数,这样一来就对服务器增加了很多压力。

请问,有没办法解决这个问题呢,比如同时打开A、B、C页面,但这3页面中只允许一个页面所调用的PUBLIC.JS来执行setInterval周期调用,请大虾门赐教,不胜感激 ,顺祝新年快乐!
...全文
667 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
KK3K2005 2011-02-10
  • 打赏
  • 举报
回复
参考session的概念
前端js是调用后台的
那么调用者要提供一个身份证明
比如提供一个字符串 那么每个页面onload都会首先从后台拿到session字符串(每次随机生成不同)
然后大家拿着这个session去后台调用方法
后台认为拥有某个session的访问已经在调用了(比如首次调用者的session被认可了) 则这个session字符串的值作为一个执行许可证
然后拥有这个session的页面调用后台才被允许执行

最后要考虑执行结束的处理
后台的这个执行是有状态的
请求状态:则发送session
执行状态:则执行拥有指定session的页面的调用(这个状态要给以个结束的出口 让该状态返回到请求状态)
linxisheng 2011-02-10
  • 打赏
  • 举报
回复
在首页里使用框架,在一个空的框架里周期调用好了
是不是这个意思
czl21 2011-02-10
  • 打赏
  • 举报
回复
数据量不大的话,可以参考下“购物车”之类跨页面传输数据的实现。

否则应该考虑修改整个前台,仅在必要事件中触发查询服务器。
huyabb 2011-02-10
  • 打赏
  • 举报
回复
我说过的,那个JS在所有页面,且每个页面都不许调用的,不是对于单一的某个页面,就即使每个页面通过iframe加载一个放有JS的public.html,那打开多个文件他还是会各司其职周期的去调用。
huyabb 2011-02-10
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 yuzhixun2008 的回复:]
楼主何必装牛角尖呢,你把你要用的函数放在你的那个页面就行了!
[/Quote]
不是转牛角尖呢,那是你没理解我的用途,也没弄明白我的意思
huyabb 2011-02-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wz361790599 的回复:]
JS设置Cookie做一个计数,Public.js在执行前判断一下
[/Quote]
这个主意不错,目前想来想去,也只能用这个。
yuzhixun2008 2011-02-10
  • 打赏
  • 举报
回复
楼主何必装牛角尖呢,你把你要用的函数放在你的那个页面就行了!
Seven-wz 2011-02-10
  • 打赏
  • 举报
回复
JS设置Cookie做一个计数,Public.js在执行前判断一下
huyabb 2011-02-10
  • 打赏
  • 举报
回复
反正我就是要保证每个页都能调用那个JS,但打开多个页面中,只允许一个页周期调用更新登陆时间,如果所有页都周期调用,那么负荷大。
huyabb 2011-02-10
  • 打赏
  • 举报
回复
以上都不是我想要的,不过还是谢谢大家,我继续等。。。

我是要做用户在线的东东,每个页面都调用那个Public.js,便于时时更新用户登陆时间,比如1分钟执行一次,这样我就可以在Global里写程序,如果用户的更新时间大于1分的,说明他掉线了。

注:这个是必须每个页都要调用的,固定在一个页调用,那样他关闭那个页,打开其他页就不能更新了
linxisheng 2011-02-10
  • 打赏
  • 举报
回复
你这个按我理解就是用个框架进去更新就OK了,要不就是你还没说清楚
huyabb 2011-02-09
  • 打赏
  • 举报
回复
在线等啊,谢谢了,给点思路也行。

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧