var d = new Date(); var dqn = "&" + d.getMonth()+""+d.getDate()+""+d.getHours(); var dq = "?" + d.getMonth()+""+d.getDate()+""+d.getHours(); var request = [ { url: 'https://www.univcoopsumai.jp/kyudai/rss/' + dq }, { url: 'https://coop.kyushu-bauc.or.jp/kyushu-u/newlife/news/rss/cate_rss.php?a=cate_list_rss&news_cate_id=28'+ dqn } ]; var jqXHRList = []; for (var i = 0; i < request.length; i++) { jqXHRList.push($.ajax({ // $.ajaxの戻り値を配列に格納 url: request[i].url, type: 'get', dataType: 'xml', timeout: 5000 })); } // $.when関数を利用する // $.whenは可変長引数を取るので、apllyメソッドを利用して配列で渡せるようにする // $.whenのコンテキスト(applyの第一引数)はjQueryである必要があるので $ を渡す $.when.apply($, jqXHRList).done(function () { var json = []; var statuses = []; var jqXHRResultList = []; // 結果は仮引数に可変長で入る **順番は保証されている** // 取り出すには arguments から取り出す // さらにそれぞれには [data, textStatus, jqXHR] の配列になっている var data = []; for (var i = 0; i < arguments.length; i++) { var result = arguments[i]; json.push(result[0]); statuses.push(result[1]); jqXHRResultList.push(result[3]); } json;// => リクエストの配列と同じ順番で結果を参照できる var row = 0; var nodeName; var rss_cnt = 0; var limit = 10; var data = []; var feedsArr = new Array(); var cnt = json.length; //data[i] = new array(); for (var h = 0; h < json.length; h++) { $(json[h]).find('item').each(function() { data[row] = {}; $(this).children().each(function() { // 子要素を取得 nodeName = $(this)[0].nodeName; // 要素名 data[row][nodeName] = {}; // 初期化 attributes = $(this)[0].attributes; // 属性を取得 for (var i in attributes) { data[row][nodeName][attributes[i].name] = attributes[i].value; // 属性名 = 値 } data[row][nodeName]['text'] = $(this).text(); //console.log('nodeName : ' + nodeName + ' text : ' + data[row][nodeName]['text']); }); var ind = feedsArr.length; feedsArr[ind] = new Array(); feedsArr[ind][0] = Date.parse(data[row]['pubDate']['text']); // 日付順にソート feedsArr[ind][1] = data[row]['link']['text']; // リンク feedsArr[ind][2] = data[row]['pubDate']['text']; // 更新日時 //feedsArr[ind][3] = data[row]['description']['text']; // 記事本文 feedsArr[ind][4] = data[row]['title']['text']; // 記事タイトル //feedsArr[ind][5] = result.feed.title; // サイトタイトル row++; }); cnt--; if (cnt == 0) { $("#rss_cnt").html('お部屋探し一覧は' + feedsArr.length + '件です。'); feedsArr.sort(); feedsArr.reverse(); console.log(feedsArr); var sethtml; var settitle; var setcate; for (var j = 0; j < feedsArr.length && j < limit; j++) { settitle = feedsArr[j][4]; setcate = feedsArr[j][5]; if(feedsArr[j][5] != 'お部屋探し'){ setcate = '九州大学のお部屋探し'; kekka = settitle.split(":"); if(kekka[1]) settitle = kekka[1]; } sethtml = '