2014-03-05 122 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()); 
相关问题