如何定时2秒后刷新一下页面,然后清除定时器
function setTime(){ 
  window.location.reload(); 
}
timeid=setTimeout("setTime()",2000);
stop();
function stop(){
//window.clearTimeout(timeid);
}
以上代码:但是这样会一直刷 ,也就是清除不了定时器。页面一加载之后又重时跑到定时器,形成死循环了
去掉注释的话 //window.clearTimeout(timeid); 页面就不会刷新。请高手帮忙解决??谢谢

解决方案 »

  1.   

    如何定时2秒后刷新一下页面,然后清除定时器??
    你的意思是2秒钟后刷新一次完就不刷新了么?
    那在页面放个隐藏域,初始值为1,刷新之前判断这个隐藏域的值是否为1,为1就刷新,否则直接stop。刷新一次的时候设置为0
      

  2.   

    如果你实在要这么做的话,问题就在于页面一旦刷新Javascript变量就丢掉了,所以想用javascript控制次数是不可能的。除非像RSH里那样放到全局缓存里,不过那样造成的兼容性问题很多,不建议使用。
    我觉得如果你一定想用javascript实现,可以考虑把次数放到地址里,比如
    http://www.xxx.com/index.html?refresh=5
    然后用window.location.href来得到地址,用正则或者字符串函数得到次数5
    var count = "window.location.href".split("?")[1].split("=")[1];
    最后不要用window.location.reload(),改使用
    window.location.href="http://www.xxx.xom/index.html?refresh=" + (count - 1);
    另外再判断下,如果count已经是0了,就不要再刷新了
      

  3.   

    将刷新的变量存在cookie中就行了
      

  4.   

    http://topic.csdn.net/u/20081217/20/16192f50-72ef-42dd-942f-163017ee73f2.html
    你俩是一个人么,问题都这么像……
    答案参见我在那篇帖子里的回答
      

  5.   

    哦不好意思发错地方了……
    http://topic.csdn.net/u/20081217/20/debe6909-da00-4547-a6e1-6a645eeee9bb.html
    这俩帖子太像了
      

  6.   

    function setTime(){ 
    window.location.reload(); 

    timeid=setTimeout("setTime()",2000); 
    stop(); 
    function stop(){ 
    //window.clearTimeout(timeid); 
    } 虽然不知道你为什么这么做,改成这样行不?function setTime(){ 
    window.location.reload(); 
    window.clearTimeout(timeid);

    timeid=setTimeout("setTime()",2000); 
      

  7.   

    楼上的,
    window.location.reload(); 
    window.clearTimeout(timeid); 
    这两行是不是还下位置,先清除定时,在刷新页面