Итак, если Вы на своём сайте желаете сделать задержку перед появлением ссылки на скачивание файла, то просто выполните инструкции расположенные ниже.
В своём варианте я расскажу как сделать появление ссылок на скачивание через 60 секунд. Если Вы желаете уменьшить или увеличить время, то достаточно изменить параметр
Доступно только для пользователей Quote var c = 60; // числом указывается необходимый период задержки в секундах...
Итак, приступим. Открываем админку, редактирование шаблонов, Каталог файлов => Страница материала и комментариев к нему => в исходном коде находим находим:
Доступно только для пользователей Code <a href="$FILE_URL$">Скачать с сервера</a> ($FILE_SIZE$) · <a href="$RFILE_URL$" target="_blank">Скачать удаленно</a> ($RFILE_SIZE$) И заменяем данные строки на:
Доступно только для пользователей Code <div style="display:none;" id="divDLWait"><fieldset><legend><b><font color="red">Чтобы снять ограничение зарегистрируйтесь!</font></b></legend> Ссылка для скачивания будет доступна через <b id="downloadDelayTimeSec">Load</b> секунд...</fieldset></div> <div style="display:none;" id="divDLStart"><input type="button" onclick="window.location='$FILE_URL$'" value="Скачать с сервера" /></div> <a href="javascript://" onclick="fcwait();document.getElementById('divDLWait').style.display='block';style.display='none'">Скачать с сервера ($FILE_SIZE$)</a> <div style="display:none;" id="divDLWait"><fieldset><legend><b><font color="red">Чтобы снять ограничение зарегистрируйтесь!</font></b></legend> Ссылка для скачивания будет доступна через <b id="downloadDelayTimeSec">Load</b> секунд...</fieldset></div> <div style="display:none;" id="divDLStart"><input type="button" onclick="window.location='$RFILE_URL$'" value="Скачать с зеркала" /></div> <a href="javascript://" onclick="fcwait();document.getElementById('divDLWait').style.display='block';style.display='none'">Скачать с зеркала ($RFILE_SIZE$)</a> Так же необходимо между < head > и < /head > разместить скрипт самого отсчёта времени расположенный ниже
Доступно только для пользователей Code <script type="text/javascript"> var c = 60; // необходимый период задержки в секундах... function fcwait() { if (c > 0) { var el = document.getElementById("downloadDelayTimeSec") if( el ){ el.innerHTML = "" + c } c = c - 1 setTimeout("fcwait()", 1000) } else { document.getElementById("divDLWait").style.display = 'none'; document.getElementById("divDLStart").style.display = 'block'; } } </script> Таким образом не зарегистрированные пользователи чтобы скачать файл должны подождать определенный период времени (в нашем случае 60 секунд), а зарегистрированные просто будут качать как обычно, без ограничений.
|
Скорее всего при использовании одного из стандартных шаблонов, изначально заменяемый код выглядел так:
<?if($RFILE_URL$)?> · <a href="$RFILE_URL$" target="_blank"><!--<s5224>-->Скачать удаленно<!--</s>--></a> ($RFILE_SIZE$)<?endif?>
<?if($SCREEN_URL$)?> · <a href="$SCREEN_URL$" target="_blank"><!--<s5187>-->Скриншот<!--</s>--></a><?endif?> ]<?endif?>
Так вот если откинуть скриншот (он нам собственно и не нужен) и за основу исходного кода брать указанный выше, то код на который необходимо заменить будет выглядеть вот так:
<div style="display:none;" id="divDLWait"><fieldset><legend><b><font color="red">Чтобы снять ограничение зарегистрируйтесь!</font></b></legend>
Ссылка для скачивания будет доступна через <b id="downloadDelayTimeSec">Load</b> секунд...</fieldset></div>
<?if($FILE_URL$)?><div style="display:none;" id="divDLStart"><input type="button" onclick="window.location='$FILE_URL$'" value="Скачать с сервера" /></div>
<a href="javascript://" onclick="fcwait();document.getElementById('divDLWait').style.display='block';style.display='none'">Скачать с сервера ($FILE_SIZE$)</a><?endif?>
<div style="display:none;" id="divDLWait"><fieldset><legend><b><font color="red">Чтобы снять ограничение зарегистрируйтесь!</font></b></legend>
Ссылка для скачивания будет доступна через <b id="downloadDelayTimeSec">Load</b> секунд...</fieldset></div>
<?if($RFILE_URL$)?><div style="display:none;" id="divDLStart"><input type="button" onclick="window.location='$RFILE_URL$'" value="Скачать с зеркала" /></div>
<a href="javascript://" onclick="fcwait();document.getElementById('divDLWait').style.display='block';style.display='none'">Скачать с зеркала ($RFILE_SIZE$)</a><?endif?>
]<?endif?>
К сожалению мог и в чем то ошибиться, по причине того, что доводы указанные выше делал в уме и без проверки, проверьте пожалуйста сами и отпишитесь о результате.