![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
複数の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ランキング
-
$.ajax({ って何ですか?
-
変数にドットをいれることはか...
-
Javascriptを使ってQRコード読...
-
Fire Foxで作動しないscriptが...
-
JavascriptからPHPへのAjax通信...
-
FullCalendar の複数月表示につ...
-
階層別の組織図の自動作成について
-
複数対応できるチェックボック...
-
たくさんの経由地がある巡回ル...
-
EPS で相対座標で円を書く方法
-
JavaScriptでtabindexの変更っ...
-
jQuery 並列load処理
-
tableのtr要素をドラッグ&ドロ...
-
スクリプトの外部からの読み込み
-
絞り込み検索の後にソートを追...
-
ドラッグ & ドロップでのド...
-
数字をピクチャボックスの上に...
-
google maps api v3のルート検索
-
カンマ区切りのデータを配列に...
-
繰り返し処理のシンプルな書き方
マンスリーランキングこのカテゴリの人気マンスリー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のボタン...
おすすめ情報