<script language="javascript"> function StartGlide() { y = 60; action = window.setInterval("Glide()",1000); } function Glide() { y = y - 1; document.getElementById('errt').innerHTML= y; if (parseInt(y)<='0') { document.getElementById('countdown').style.display='none'; document.getElementById('links').style.display='block'; window.clearInterval(action); } } </script> <table align="center"> <tr> <td> <div id="countdown" style="display:block;" align="center"><b>Дождитесь своей очереди<br><span id="errt" name="errt">60</span> секунд</b></div> <div id="links" align="center" style="display:none;"> <a href="link">Ваша ссылка на скачивание файла</a> </div> </td> </tr> </table> <script language="javascript">StartGlide();</script>
nezachto,nezabud v "document.getElementById('links').style.display='bl ock';" izmenit na 'block',eto bagi vbulletin zdes
))) О изменил, спс, но он просто предлагает скачать, а можно так что бы уже вылетело окошко с закачкой?
tochnee vot tak: iz document.getElementById('countdown').style.display ='none'; document.getElementById('links').style.display='block'; window.clearInterval(action); v document.getElementById('countdown').style.display ='none'; document.getElementById('links').style.display='block'; location.href="SSYLKA"; window.clearInterval(action);
Щас полетят маты в мою сторону, но безопаснее всего выдавать через PHP. Хотя очень сильно напрягает сервер. Скрипт не мой, где спёр не помню, но мне оч. нравиться что можно скорость отдачи контролировать... В общем вот. PHP: function file_download($filename, $mimetype='application/octet-stream') { // Задаем ограничение скорости закачки в байтах в секунду // или ноль, если ограничений не требуется. // Другим способом задания этого параметра может быть его определение // через константу, посредством функции define(), в этом случае значение // будет неизменным для любого запуска скрипта. // Можно его значение задавать и снаружи функции исходя из каких-либо соображений, // например, роли пользователя или загрузки сервера, и получать его // посредством директивы global. $download_speed = 25000; // Около 25 килобайт в секунду. // Задаём время дискретизации. С этой периодичностью клиенту будут отдаваться // блоки данных считываемые из файла. $time_discret = 1; if (file_exists($filename)) { header($_SERVER["SERVER_PROTOCOL"] . ' 200 OK'); header('Content-Type: ' . $mimetype); header('Last-Modified: ' . gmdate('r', filemtime($filename))); header('ETag: ' . sprintf('%x-%x-%x', fileinode($filename), filesize($filename), filemtime($filename))); header('Content-Length: ' . (filesize($filename))); header('Connection: close'); header('Content-Disposition: attachment; filename="' . basename($filename) . '";'); $f=fopen($filename, 'r'); // Проверяем задано ли ограничение скорости if((int) $download_speed > 0) { while(!feof($f)) { // Включаем таймер $time_start = microtime(true); // Читаем блок данных, которых мы должны отдать за время дискретизации echo fread($f, ceil($download_speed*$time_discret)); flush(); // Находим время за которое наши данные отправлены $time_end = microtime(true); $time = $time_end - $time_start; // Если время, оставшееся до конца времени дискретизации больше нуля, // то приостанавливаем выполнение скрипта на величину этого времени в микросекундах. if($time_discret-$time > 0) usleep(($time_discret-$time)*1000000); } } else { // Если у нас не задано ограничение скорости, то выполняем старый вариант кода while(!feof($f)) { echo fread($f, 1024); flush(); } } fclose($f); } else { header($_SERVER["SERVER_PROTOCOL"] . ' 404 Not Found'); header('Status: 404 Not Found'); } exit; } file_download('ИМЯ_ФАЙЛА');