膨大なデータから探すため、8秒くらいかかります。';
const sec = Math.floor(new Date().getTime() / 1000);
fetch('https://timetravel.mementoweb.org/api/json/20250305/http://www.yomiuri.co.jp/national/20140716-OYT1T50173.html')
.then(response => response.json())
.then(json => {
if (json && json.mementos) {
const recent_url = new URL(json.mementos.last.uri[0]);
const first_url = new URL(json.mementos.first.uri[0]);
const recent_date = new Date(json.mementos.last.datetime);
const first_date = new Date(json.mementos.first.datetime);
const recent_date_str = formatDate(recent_date);
const first_date_str = formatDate(first_date);
timetravelElement.innerHTML =
'
' +
'- 💡 発見しました
' +
'- 最新 ' + recent_date_str + '(' + recent_url.hostname + ')
' +
'- 最古 ' + first_date_str + '(' + first_url.hostname + ')
' +
'
';
} else {
timetravelElement.innerHTML = '→見つかりませんでした。';
}
})
.catch(error => {
if (Math.floor(new Date().getTime() / 1000) - sec < 4) {
timetravelElement.innerHTML = '→エラーでした。高頻度すぎる検索などの可能性もあります。';
} else {
timetravelElement.innerHTML = '→見つかりませんでした。';
}
});
}
function formatDate(date) {
return date.getFullYear() + '/' +
('0' + (date.getMonth() + 1)).slice(-2) + '/' +
('0' + date.getDate()).slice(-2) + ' ' +
('0' + date.getHours()).slice(-2) + ':' +
('0' + date.getMinutes()).slice(-2) + ':' +
('0' + date.getSeconds()).slice(-2);
}