![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
複数の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で質問しましょう!
似たような質問が見つかりました
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- その他(プログラミング・Web制作) laravel 本番環境でメールが送れません。 1 2023/02/17 17:57
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- その他(プログラミング・Web制作) pythonリストの特定の値を表示htmlで表示できない 2 2022/05/14 05:48
- その他(プログラミング・Web制作) セレクトボックスで選択された値をコントローラーで使用したい 2 2022/07/26 16:41
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jQueryでシンセサイザーを作っ...
-
switch文のswitch(n)の部分を複...
-
セレクトボックスを2つ選択して...
-
①入力フォーム→②確認表示画面→③...
-
追加ボタンを押した際に ok ボ...
-
二次元配列の全要素の全要素を...
-
【GAS】WEBアプリでハイパーリ...
-
【Google Apps Script】「ライ...
-
プログラミング 学習
-
HTMLでサブフレームから親のス...
-
ジャバスクリプトについて。
-
プログラムについて。
-
Q&A掲示板の入力フォームに文字...
-
メールフォームの日付入力フォ...
-
二次元配列を使って順位をだす...
-
iOSのみダブルタップが必要
-
jsで質問です。 displayプロパ...
-
var exports = exports || {}; ...
-
HTMLタグに複数のクラスを設定...
-
Googleフォームで選択肢に応じ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
[jQuery UI] sortableを使いaja...
-
.txtファイルの読み込み
-
変数にドットをいれることはか...
-
読み込み開始から読み込み終了...
-
JavaScriptでリンク先コンテン...
-
jQueryでloadしたphpをapendTo...
-
ajaxでPOSTする変数の変数名を...
-
javascriptでAPIをcallしたい
-
$.ajax({ って何ですか?
-
配列に格納したXHRのreadyState...
-
ドラッグ & ドロップでのド...
-
JavascriptからPHPへのAjax通信...
-
階層別の組織図の自動作成について
-
Javascriptを使ってQRコード読...
-
Selenium4でボタンをクリックで...
-
JavaScriptでtabindexの変更っ...
-
カンマ区切りのデータを配列に...
-
readyStateが4にならない原因
-
SQLのmaxで求めた値を変数に代...
-
AjaxでJSONを受信すると、文字...
おすすめ情報