Javascriptをはじめ、Ajax、jQueryの著書多数のガイドが、何かと最近騒がれているJa…
Javascript関連情報
更新日:2006年11月30日
今回試してみるのは、HTTPリクエストヘッダ「If-Modified-Since」です。ファイルの更新確認を行うこのHTTPヘッダを利用して、ページ更新チェックを自動表示してみます。

![]() |
| X01HT概観 |
<!-- Ajax簡易ライブラリ jslb_ajax.js -->
<script type = "text/javascript"
src = "http://jsgt.org/ajax/ref/lib/jslb_ajax0511_c.js"
charset = "utf-8"></script>
<!-- 下記リンクをチェック -->
<a id = "link0"
href = "http://jsgt.org/about/cu/CU20061130A/01/test1.htm">
Ajaxでペ ージ更新をチェックする </a><br>
<a id = "link1"
href = "http://jsgt.org/mt/01/">
JavaScript++かも日記</a><br>
<a id = "link2"
href = "http://jsgt.org/mt/htc/">
htcブログ</a><br>
<a id="link3"
href = "http://jsgt.org/ajax/newmon/GoogleMapsAPIv2.htm">
Google Maps API v2 リファレンス(意訳とサンプル)</a><br>
<!-- ヘッダテスト用 -->
<script type="text/javascript">
<!--
//遡る日数(遡った日以降に更新されていれば[New!])
var b4Days = 10;
//注釈(無くても良い)
document.write('<p><font color="red" size="-1">[New!]</font>');
document.write('の付いたリンクは、'+b4Days);
document.write('日以内に更新されました</p>');
//チェックを表示したいリンクのID名 chkHEAD('link0'); chkHEAD('link1'); chkHEAD('link2'); chkHEAD('link3');
//エレメント取得ショートカット
function getE(id){return document.getElementById(id)}
//更新チェック
function chkHEAD(id){
//エレメント取得ショートカット
function getE(id){return document.getElementById(id)}
//Ajaxリクエスト
sendRequest({
onload : //レスポンス用コールバック
function (oj){
if( oj.status == '200' )
getE(id).innerHTML+='<font color="red">[New!]</font>';
},
onbeforsetheader : //ヘッダ設定用コールバック
function setHeaders(oj){
//指定された時刻以降に更新されていなければ304を返す
var d=new Date(new Date().getTime()-1000*60*60*24*b4Days);
//使える日付形式については下記【関連リンク】参照
var gmtString = d.toGMTString().replace(/UTC/,'GMT');
oj.setRequestHeader("If-Modified-Since",gmtString);
}
}, '','HEAD',getE(id).href,true,true);
}
//-->
</script>
人気Javascriptランキング
Powered by 価格.com