_PHP Codeigniter Framework
_を使用してWebサイトを開発しています。一部のWebページで、クライアントのマシン時間だけでなくWebサーバーの時間も表示したい。 JavaScript
を使用してクライアント側の時間を正常に表示し、setInterval('clientMachineTime()',1000)
関数を使用するだけで毎秒時間を更新しました。クライアント側の時計と同じ動作でWebサーバーの時刻を表示したい。私はこれをグーグルで探しましたが、探しているものを正確に見つけることができませんでした。任意の提案をいただければ幸いです。ありがとう。
自分の質問に答える
Webdeveloper.com で探していたものが見つかりました。
serverDate.js
var xmlHttp;
function srvTime(){
try {
//FF, Opera, Safari, Chrome
xmlHttp = new XMLHttpRequest();
}
catch (err1) {
//IE
try {
xmlHttp = new ActiveXObject('Msxml2.XMLHTTP');
}
catch (err2) {
try {
xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
}
catch (eerr3) {
//AJAX not supported, use CPU time.
alert("AJAX not supported");
}
}
}
xmlHttp.open('HEAD',window.location.href.toString(),false);
xmlHttp.setRequestHeader("Content-Type", "text/html");
xmlHttp.send('');
return xmlHttp.getResponseHeader("Date");
}
var st = srvTime();
var date = new Date(st);
html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Server date/time</title>
<script language="javascript" src="serverDate.js"></script>
</head>
<script language="javascript">
var localTime = new Date();
document.write("Local machine time is: " + localTime + "<br>");
document.write("Server time is: " + date);
</script>
<body>
</body>
乾杯!!
function getServerTime() {
return $.ajax({async: false}).getResponseHeader( 'Date' );
}
console.log('Server Time: ', getServerTime());
console.log('Locale Time: ', new Date(getServerTime()));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
この例では、毎秒サーバー時間を表示しようとします。
<html>
<head>
<title></title>
<script type="text/javascript">
function srvTime(){
try {
//FF, Opera, Safari, Chrome
xmlHttp = new XMLHttpRequest();
}
catch (err1) {
//IE
try {
xmlHttp = new ActiveXObject('Msxml2.XMLHTTP');
}
catch (err2) {
try {
xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
}
catch (eerr3) {
//AJAX not supported, use CPU time.
alert("AJAX not supported");
}
}
}
xmlHttp.open('HEAD',window.location.href.toString(),false);
xmlHttp.setRequestHeader("Content-Type", "text/html");
xmlHttp.send('');
return xmlHttp.getResponseHeader("Date");
}
//var st = srvTime();
//var date = new Date(st);
function display_c(){
var refresh=1000; // Refresh rate in milli seconds
mytime=setTimeout('display_ct()',refresh)
}
function display_ct() {
var strcount
var st = srvTime();
var x = new Date(st); //new Date()
document.getElementById('ct').innerHTML = x;
tt=display_c();
}
</script>
</head>
<body onload=display_ct();>
<span id='ct' ></span>
</body>
</html>
SOURCE1
http://www.plus2net.com/javascript_tutorial/clock.php 上記の例はphpフリーであることに注意してください。
SOURCE2
おもしろいことに、Codeigniterについての情報を探して質問に答えられるかどうかを確認しているときに、まさに必要なことを行うrunnableが見つかりました。
http://runnable.com/UXczcazDrMMiAAGl/how-to-do-ajax-in-codeigniter-for-php
要するに、上記のスクリプトはCodeigniterとjQueryを使用して、サーバーに現在の時刻を(AJAXを介して)問い合わせます。
ハッピーコーディング。