2014-03-05 172 views
-1

我的網頁有很多動態內容,並且只能在服務器時間下載一次。如何從客戶端時間計算服務器時間

用戶在網頁上呆很長時間,會做很多時間相關的活動。 這些活動我需要登錄瀏覽器localstorage與日期時間(時間)的服務器。

那麼,如何從相對客戶端時間計算或查找或獲取服務器時間,而無需向服務器發出新請求。

任何建議表示感謝和提前感謝!

回答

1

我用下面的方法從客戶端的時間

  1. 獲得服務器時間以客戶端時間和服務器的時間差,當頁面加載的第一時間。

    var TIMEDIFF = new Date().getTime()-parseInt('<%= Time.now.to_i%>')*1000; 
    
  2. 後來做以下操作以獲取服務器的時間不從客戶端時間去請求服務器。

    new Date().getTime()-TIMEDIFF 
    
0

這是絕對不可能的。如果客戶端發生了什麼情況,並且您沒有向服務器發送請求,則服務器無法知道它。但是,如果您只是表示不希望頁面重新加載,則可以使用AJAX向服務器發送異步(後臺)請求,而用戶不知道該請求。

https://api.jquery.com/jQuery.ajax/

0

你可以從Time.nowTime.new當前時間。時間對象組件可用於客戶端Javascript以節省客戶端系統上的時間。

#!/usr/bin/ruby -w 

time = Time.new 
# time = Time.now # => Also can be used 
puts time.strftime("%Y,%m,%d,%H,%M,%S,%2N") # => "2014,03,06,02,41,29,85" 

在JS,日期對象可以用不同的方式被初始化,例如:

  1. new Date(milliseconds) //milliseconds since 1970/01/01
  2. new Date(dateString)
  3. new Date(year, month, day, hours, minutes, seconds, milliseconds)

第三種方法可以在這裏使用。在rails模板文件中使用以下代碼。

var currentDate = new Date(<%= Time.now.strftime('%Y,%m,%d,%H,%M,%S,%2N') %>); 
alert(currentDate.toString()); 
相關問題