1

これは私に私の髪を引っ張らせます。次の従来のASPコードをドキュメントの先頭に配置して、JavaScriptで使用するサーバー時間を取得しました...これが初めて機能します。後でjavascriptがjavascript内で同じ関数を呼び出すと、時間はかかりますが2分遅れます!

初めて頭の中を回る(OK)

    <% 
Dim servertime, d
    d = Now 
    servertime = Cstr(Right("00" & Hour(d), 2) & ":" & Right("00" & Minute(d), 2) & ":" & Right("00" & Second(d), 2)) 'parse out hh:mm:ss
%>

    <script>
window.servertime = '<%=servertime%>'; // set servertime to server time duh!
    </script>

後でjavascript関数内で:

    <% 
    d = Now 
    servertime = Cstr(Right("00" & Hour(d), 2) & ":" & Right("00" & Minute(d), 2) & ":" & Right("00" & Second(d), 2)) 'parse out hh:mm:ss
%>

window.servertime = '<%=servertime%>'; // get the server time again!

2番目の関数が2分で実行されるたびに!

4

2 に答える 2

1

これが役に立ちますように。何のために時間が必要なのかわからない...ユーザーセッションが期限切れになりそうになったときに、aspページ内で2分間の事前警告を出すためにそれを使用しました。

<%
advanceWarning = 2 
jsTimeout = (session.timeout - advanceWarning) * 60000 
%> 
<script>window.setTimeout("alert('Security Message at <%=time%> (EST): You have been idle for too long on the website. For your security, your session will expire in 2 minutes and you will be automatically logged out if you continue to remain idle!');",<%=jsTimeout%>);</script>
于 2013-01-19T06:29:37.887 に答える
1

servertime 変数は、ページが最初にレンダリングされるときに計算され、ページが再度呼び出されたときにのみ更新されます。

これは、現在のサーバー時間を使用したい場合にできることがいくつかあることを意味します。

  1. ページが読み込まれると、サーバー時刻が取得されますが、JavaScript のローカル時刻も取得されます。時間を更新したい場合は、現在と最初のローカル時間の差を元のサーバー時間に追加します... 100%正確ではありませんが、近いでしょう。

  2. 少し複雑です..現在の時刻を返すだけのページをサーバーに配置し、javascript からサーバー時刻を表示する場合は、AJAX 呼び出し (jQuery を使用するなど) を実行してそれを取得して表示します。

于 2013-01-18T17:03:26.107 に答える