ほとんどのサーバーは、ページの応答ヘッダーでサーバー時間を返します。現在のリクエストでは、JavaScript はこれらのヘッダーを見ることができず、Greasemonkey は (まだ) それらを見る方法を提供していません。
ただし、Greasemonkey は特別なHEAD
AJAX を使用してサーバー時間を取得できます。これを行う完全なユーザースクリプトは次のとおりです。
// ==UserScript==
// @name _Get web server time
// @include http://YOUR_SERVER.COM/YOUR_PATH/*
// @grant GM_xmlhttpRequest
// ==/UserScript==
GM_xmlhttpRequest ( {
url: location.href,
method: "HEAD",
onload: function (rsp) {
var serverTime = "Server date not reported!";
var RespDate = rsp.responseHeaders.match (/\bDate:\s+(.+?)(?:\n|\r)/i);
if (RespDate && RespDate.length > 1) {
serverTime = RespDate[1];
}
console.log ("Server Time: ", serverTime);
}
} );
注意:
- サーバーがページをタイムゾーンに「ローカライズ」しようとすると、サーバーの時刻が Web ページの時刻と異なる場合があります。ほとんどの品質サーバーは、GMT で時間を報告します。
- 通常、フェッチされた時間は、ターゲット ページが表示された時間からミリ秒以内です。ただし、スクリプト、ページ、ネットワーク トラフィックなどによっては、フェッチされた時刻がターゲット ページの開始時刻から数秒後になる場合もあります。正確な一致を得ることはできません。