Здравствуйте,
Сначала думал, что определение времени отгрузки файла (upload) средствами ЯваСкрипта + ПХП сделать невозможно. Ошибался. Возможно. Аякс не используется. Используется ифрейм.
Вот код яваскрипта:
Код | var UP = function() { var startTime = null; var infoUpdated = 0;
var writeStatus = function(text) { var statDiv = document.getElementById("status"); statDiv.innerHTML = text; }
return { start: function(elem, id) { $('#status_cont').show("slow"); $('#upload').hide("slow");
startTime = new Date(); infoUpdated = 0; this.requestInfo();
uploadid = id;
elem.target = 'ifr2'; //вот он - фрейм! elem.action = 'http://сайт.ru:8080/upload/?type=js'; elem.submit(); }, requestInfo: function() { $.get("http://сайт.ru/info.php?id="+uploadid+"&"+new Date(), function(data){ eval(data); }); }, updateInfo: function(percent, estimatedSeconds) { if (startTime) { if (percent) { infoUpdated++; e = gid('Percent'); e.style.width = (480 * Math.floor(percent * 100) / 100)+'px'; writeStatus(Math.floor(percent * 100) + "% готово, " + estimatedSeconds + " секунд осталось"); } else { if (infoUpdated > 0) { e = gid('Percent'); e.style.width = (480)+'px'; writeStatus("Идет обработка изображений на сервере..."); } else writeStatus("Строка загрузки недоступна"); } window.setTimeout("UP.requestInfo()", 100); } } } }()
|
Строка которая отвечает за определения оставшегося времени:
Код | $.get("http://сайт.ru/info.php?id="+uploadid+"&"+new Date(), function(data){
|
Вопрос: что это такой за магический скрипт "info.php" и каким образом он определяет оставшееся время?
|