Приветствую Вас ГостьПонедельник, 20.05.2024, 10:01

Всё для uCoz


Скачать

Главная » Файлы » Все для uCoz » Скрипты для uCoz

Скачивание файла после 60 секунд ожидания
08.03.2010, 21:08
Итак, если Вы на своём сайте желаете сделать задержку перед появлением ссылки на скачивание файла, то просто выполните инструкции расположенные ниже.

В своём варианте я расскажу как сделать появление ссылок на скачивание через 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 секунд), а зарегистрированные просто будут качать как обычно, без ограничений.
Категория: Скрипты для uCoz | Добавил: ArhangeL
Просмотров: 1781 | Загрузок: 0 | Комментарии: 2 | Рейтинг: 3.7/3
Всего комментариев: 2
Коммента №2, написал: ArhangeL Воскресенье, 04.07.2010
Значит в исходном коде Вы удалили/добавили условный оператор.
Скорее всего при использовании одного из стандартных шаблонов, изначально заменяемый код выглядел так:
Code
<?if($FILE_URL$ || $RFILE_URL$ || $SCREEN_URL$)?>[ <?if($FILE_URL$)?><a href="$FILE_URL$"><!--<s5223>-->Скачать с сервера<!--</s>--></a> ($FILE_SIZE$)<?endif?>
<?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?>

Так вот если откинуть скриншот (он нам собственно и не нужен) и за основу исходного кода брать указанный выше, то код на который необходимо заменить будет выглядеть вот так:

Code
<?if($FILE_URL$ || $RFILE_URL$ || $SCREEN_URL$)?>[
<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?>

К сожалению мог и в чем то ошибиться, по причине того, что доводы указанные выше делал в уме и без проверки, проверьте пожалуйста сами и отпишитесь о результате.

[Материал]
0  
Коммента №1, написал: AleksanderGaMeR Воскресенье, 04.07.2010
пишет не закрыт один или более условный оператор (<?if?>)

[Материал]
0  
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Категории раздела
Скрипты для uCoz [65]
Шаблоны для сайтов [154]
Шаблоны для форумов [57]
Иконки групп [38]
Ранги [43]
Кнопки для форумов [98]
Иконки для форумов [6]
Другое [17]
Меню для сайтов [14]
Переключатели страниц [8]
Шапки для сайтов [47]
Адаптации шаблонов DLE [2]
Статистика

Онлайн всего: 2
Гостей: 2
Пользователей: 0
Форма входа

Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz