複数のHTMLファイルの更新日時をJavaScriptで調べる必要があり(サーバ側では仕様上できません)以下のように書いたのですが、readyStateで参照すると全てurls[2]の値になってしまいます。(つまり「/infomation/index.html」の更新日時)どのように回避すればよいのでしょうか。
onload=function () {
var urls = new Array(3);
urls[0]= "/about/index.html";
urls[1]= "/news/index.html";
urls[2]= "/infomation/index.html";
var request= new Array();
for(i=0;i<urls.length;i++){
request[i] = new XMLHttpRequest();
request[i].open("GET", urls[i]);
request[i].send(null);
request[i].onreadystatechange = function () {
if (request[i].readyState == 4) {
var lmdfd= request[i].getResponseHeader("Last-Modified");
以下、更新日時の確認処理
}
}
}
}
No.1ベストアンサー
- 回答日時:
function () {
if (request[i].readyState == 4) {
ここの i のスコープを考えると、forのところの i ですが、この無名関数が呼ばれる時点で i は 2 になっていますので、毎回 request[2].readyState を参照するというのはその通り。
request[i].onreadystatechange = (function(x) {return function () {
if (request[x].readyState == 4) {
var lmdfd= request[x].getResponseHeader("Last-Modified");
以下、更新日時の確認処理
}
})(i);
ご回答をいただいた上に改善案まで示していただき、ありがとうございます。
処理が行われる順序についてや、
こうした書き方を見ること自体がはじめてで、勉強不足を感じざるをえません。
調べてみたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
読み込み開始から読み込み終了...
-
javascriptでAPIをcallしたい
-
JavaScriptでリンク先コンテン...
-
カンマ区切りのデータを配列に...
-
jQuery を外部ファイルから呼び...
-
階層別の組織図の自動作成について
-
Javascriptを使ってQRコード読...
-
フレーム内の要素へのXPATHはど...
-
AjaxでJSONを受信すると、文字...
-
jQueryを使いformでsubmitした...
-
jqueryのgetでJSPを呼び出したい
-
Googleストリートビューの写真...
-
jquery.validationEngine.js 添...
-
二つのbxsliderをレスポンシブ...
-
JavaScriptで擬似フレーム、読...
-
JScriptでDBへの接続方法について
-
プルダウン内容に応じてラジオ...
-
スライドを最後の画像で止めたい
-
C言語の 配列の中 出力について
-
struts selectbox optionsColle...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
変数にドットをいれることはか...
-
[jQuery UI] sortableを使いaja...
-
jqueryを使いajaxで取得したデ...
-
リンク付きの画像をクリックす...
-
読み込み開始から読み込み終了...
-
ajaxでPOSTする変数の変数名を...
-
Ajaxのエンコードで
-
.txtファイルの読み込み
-
jsのreturnで値が返ってこない
-
jQueryでloadしたphpをapendTo...
-
Selenium4でボタンをクリックで...
-
JavascriptからPHPへのAjax通信...
-
Javascriptを使ってQRコード読...
-
SQLのmaxで求めた値を変数に代...
-
JavaScriptでtabindexの変更っ...
-
インラインフレームを自動更新...
-
jQueryを使いformでsubmitした...
-
同一ページ移動時ハンバーガー...
-
ドラッグ & ドロップでのド...
-
jQueryのblockUIをformのボタン...
おすすめ情報