如果不是一个页面,而是只有两个页面A和B,这两个页面可以用超链接相互切换,但是记录这两个页面的总时间,到时间后跳转到另外页面C,这该如何实现呢?
在AB两个页面中setTimeout的话,每次换到另外页面总会重新计时的

解决方案 »

  1.   

    在A,B两个页面中,都定义了如下的js函数 
    <script language="JavaScript" type="text/javascript"> 
    function gotopage() 

    window.location.replace("C.php") 
    } function UserLogoIn() 

      logoin=new Date(); 
      <? 
      if(!isset($_GET["t"])){ 
      ?> 
      var timeAll=0; 
      <? } 
      else{ 
        $t=$_GET["t"]; 
      ?> 
      timeAll=timeAll + <?=$t ?>; 
      <? }?> 
      setTimeout("gotopage()",60000-timeAll) 

    function h(){ 
      logoout=new Date(); 
      t_add=Math.round((logoout.getTime()-logoin.getTime())); 
      window.location.replace("页面A或B.php?t=" + t_add) 

    </script> 
    下面的代码是 <body onLoad="UserLogoIn()"> 
    AB页面切换点击时onclick="h()" 这样试图实现在两个页面中的总时间为1分钟时,换到C.php 
    但是一直报错,说timeAll没有定义,这是什么原因,不知道哪里需要修改呢?谢谢!
      

  2.   

    timeAll 只在 if 语句中定义,而else 语句中没有定义!,这样当然不行啊
    应将timeAll的定义放到if语句外,或者else中也定义timeAll
      

  3.   

    url传值
    [A|B]?a=time&b=time不管怎么切换 把AB的时间传过去就好了
      

  4.   

    function UserLogoIn() 

      logoin=new Date(); 
      var timeAll=0;
      <? 
      if(isset($_GET["t"])){ 
        $t=$_GET["t"]; 
      ?> 
      timeAll=timeAll + <?=$t ?>; 
      <? }?> 
      setTimeout("gotopage()",60000-timeAll) 
    }