簡體   English   中英

在按下刷新按鈕或重定向到另一個頁面之前,如何獲得網頁上經過的總秒數?

[英]How can i get the total seconds elapsed on a web page before pressing a refresh button or redirecting to another page?

我已經將這段代碼用於計時器。 但是在按下刷新按鈕或重定向到另一個頁面之前,我無法設置一個邏輯來獲取此頁面上經過的總秒數。 我還想將經過的總秒數傳遞給我的數據庫。

定時器代碼:

<html>
<head>
<Script Language="JavaScript">
    var startDate = new Date();
    var startTime = startDate.getTime();
    function seconds_elapsed ()
    {
        var date_now = new Date ();
        var time_now = date_now.getTime ();
        var time_diff = time_now - startTime;
        var seconds_elapsed = Math.floor ( time_diff / 1000 );
        document.display.timeElapsed.value = pad ( seconds_elapsed );
        setTimeout( "seconds_elapsed ()", 1000 );
        return ( seconds_elapsed ); 
    }
    function pad ( num )
    {
        return ( ( num > 9 ) ? num : "0" + num );
    }
</Script>
</head>
<body onLoad="seconds_elapsed()">

<form method="get" name="display" action="timer.php">
<input name="timeElapsed" type="text" size=8>
</form>

</body>
</html>

這是一個用window.performance.now()制作的小例子

 <body onload="startTimer()">
   <button onclick="showElapsedTime()">Show Seconds</button>
 </body>

<script>
var start;
var end;
function startTimer() {
  start = window.performance.now();
  console.log(start);
}

function showElapsedTime() {
  end = window.performance.now();
  var seconds = (end - start) / 1000;
  alert("Time elapsed: " + seconds.toFixed(2) + " seconds");
}
</script>

你可以這樣做:

頁面中的第二個:

   <html>
    <head>
    <Script Language="JavaScript">
      var startTime, endTime;

function start() {
  startTime = new Date();
};

function end() {
  endTime = new Date();
  var timeDiff = endTime - startTime; //in ms
  // strip the ms
  timeDiff /= 1000;

  // get seconds 
  var seconds = Math.round(timeDiff);
  window.location="https://website.com/storetimer.php?second="+seconds;
}
    </Script>
    </head>
    <body onLoad="start()">

    <button onclick="end()">Click me</button>

    </body>

現在在新的頁面存儲中,在您的數據庫中插入第二個變量,例如:

$second=$_GET['second'];
//insert code

每秒發送一次 AJAX ping,或每次需要時發送。

或者使用 onunload / onbeforeunload 函數並在離開時發送一個ajax。 https://stackoverflow.com/questions/4945932/window-onbeforeunload-ajax-request-in-chrome

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM