02.05.2014, 09:32
|
Новичок на форуме
|
|
Регистрация: 02.05.2014
Сообщений: 1
|
|
Дата создания файла по URL
Добрый день.
Возможно ли в js по url получить дату создания файла? Интересует "чистый js" без библиотек.
Серверные решения мне в моем случае не помогут. Надеюсь на "возможно". Спасибо.
|
|
02.05.2014, 10:49
|
|
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
Возможно, по цвету машины определить ее владельца?
Если "Вася Пупкин" на ней написать, то возможно.
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|
02.05.2014, 11:15
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,586
|
|
Только last-modifed и только для своего домена.
Пример: http://stackoverflow.com/a/5748207
var getMTime = function(url, callback) {
var xhr = XMLHttpRequest();
xhr.open('HEAD', url, true); // use HEAD - we only need the headers
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
var mtime = new Date(xhr.getResponseHeader('Last-Modified'));
if (mtime.toString() === 'Invalid Date') {
callback(); // dont want to return a bad date
} else {
callback(mtime);
}
}
}
xhr.send();
};
getMTime('url here', function(mtime) {
if (mtime) console.log('the mtime is:' + mtime.toISOString());
});
__________________
29375, 35
Последний раз редактировалось Aetae, 02.05.2014 в 11:20.
|
|
02.05.2014, 11:38
|
|
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
Сообщение от Aetae
|
Только last-modifed и только для своего домена.
|
спрашивали по url
Для тренировки можешь попробовать определить дату создания файла (какого? =) по этому url
Сообщение от Aetae
|
http://stackoverflow.com/a/5748207
|
Как определишь, пиши))))
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|
02.05.2014, 19:23
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,586
|
|
<img src="/files/tutorial/browser/dom/ball/ball.gif">
<script>function getMTime(url, callback) {
var xhr = XMLHttpRequest();
xhr.open('HEAD', url, true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if (xhr.status === 200) {
callback(xhr.getResponseHeader('Last-Modified'))
}
}
};
xhr.send();
};
getMTime('/files/tutorial/browser/dom/ball/ball.gif', function (mtime) {
alert('the mtime is:' + mtime)
})</script>
Нормально всё с файлами работает, или я что-то не понял?
__________________
29375, 35
|
|
02.05.2014, 19:38
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Uncaught TypeError: Failed to construct 'XMLHttpRequest': Please use the 'new' operator, this DOM object constructor cannot be called as a function.
__________________
В личку только с интересными предложениями
|
|
02.05.2014, 21:07
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,586
|
|
danik.js, у меня ff - мне по кочерыжке.)
Кроссбраузерность допиливайте под себя.
P.S. Сам бы без new не написал, но тут просто на скорую руку правил кривоватый пример со stackoverflow.)
__________________
29375, 35
Последний раз редактировалось Aetae, 02.05.2014 в 21:11.
|
|
02.05.2014, 21:22
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Какой же ты эгоист)
Трудно что-ли три буквы добавить, шоб демка заработала...
__________________
В личку только с интересными предложениями
|
|
02.05.2014, 22:05
|
|
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
А я для хрома написал
<img src="/files/tutorial/browser/dom/ball/ball.gif" />
<script>
getModified('/files/tutorial/browser/dom/ball/ball.gif')
.then(function(date) {
alert(date);
},
function() {
alert('error');
});
// -------------------------------
function getModified(url) {
var deferred = {};
var promise = new Promise(function(resolve, reject) {
deferred.resolve = resolve;
deferred.reject = reject;
});
var xhr = new XMLHttpRequest();
xhr.open('HEAD', url);
xhr.onload = function() {
var header = xhr.getResponseHeader('Last-Modified');
var date = new Date(header);
deferred.resolve(date);
};
xhr.onerror = function() {
deferred.reject();
};
xhr.send();
return promise;
}
</script>
Сообщение от Aetae
|
Нормально всё с файлами работает, или я что-то не понял?
|
Если путь к файлу известен, то работает. Но только это не дата создания)
А если путь к файлу не известен, то тру-ля-ля
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Последний раз редактировалось nerv_, 02.05.2014 в 22:07.
|
|
02.05.2014, 22:50
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,586
|
|
Какая гадость эти ваши промисы... =\
__________________
29375, 35
|
|
|
|