Mayheptad Ответов: 1

Как сделать ссылку для загрузки открытой в новой вкладке браузера при нажатии и установить обратный отсчет на этой вкладке до появления ссылки для загрузки файла


Привет кодерам в доме.
Я полный новичок, я видел что-то на thewpclub. Net и я хотим реализовать то же самое в своем блоге WordPress.

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

Пожалуйста, попробуйте скачать с thewpclub. Нет , ты поймешь, что я пытаюсь сказать.

Что я уже пробовал:

Друг на facebook дал мне этот код jquery.

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


Смотрите код ниже

jQuery code:
function c(){
var startTime = $('.c').attr('id');
var counter = startTime;
$('.c').text(counter);
setInterval(function() {
counter--;
if (counter > 0) {
$('.c').text(counter);
}
// Display 'counter' wherever you want to display it.
if (counter === 0) {
// alert('this is where it happens');
clearInterval(counter);
$('.c').text('');
$('.c').append('<a href="#">Download</a>');
}
}, 1000);
}
// Start
c();
HTML:
<span class="c" id="5"></span>

1 Ответов

Рейтинг:
1

#realJSOP

0) задержка не идет на страницу, где пользователь нажал ссылку - она идет на страницу, на которой есть кнопка загрузки.

1) Чтобы сделать ссылку открытой в новой вкладке, добавьте target="_top" к href.

2) Вы должны ответить на событие, чтобы html-код был визуализирован.

3) для протокола, эти произвольные задержки загрузки раздражают f*ck outa me. Просто говорю...


Mayheptad

спасибо, @realjsop.
Я добавил target="_top" в href, но ссылка все равно не открывается в новой вкладке.
поэтому я добавил target="_blank" в href, и теперь он открывается в новой вкладке.
Я также добавил событие onClick в тег HTML span, где я хочу, чтобы пользователь щелкнул до того, как произойдет перенаправление загрузки.

но все же обратный отсчет все еще происходит прямо там, на той же странице, в то время как я хочу, чтобы новая вкладка браузера открывалась, когда я нажимаю на ссылку в теге Html span, и в этой новой вкладке браузера я хочу, чтобы обратный отсчет происходил до того, как он наконец отобразит фактическую ссылку для загрузки.

Я хочу сделать это именно так, как thewpclub. нет сделал это.
пожалуйста помочь.

А если это невозможно сделать с помощью javascript, то если это PHP, то кто-нибудь должен написать для меня PHP-код

СМОТРИТЕ МОЙ КОД НИЖЕ И СКАЖИТЕ МНЕ, ЧТО Я ДЕЛАЮ НЕ ТАК

HTML

<span class="c" id="5"><a href="ADDRESS OF PAGE WHERE I WANT THE COUNTDOWN TO HAPPEN" target="_blank"></a></span>


в jQuery

function c(){
var startTime = $('.c').attr('id');
var counter = startTime;
$('.c').text(counter);
setInterval(function() {
counter--;
if (counter > 0) {
$('.c').text(counter);
}
// Display 'counter' wherever you want to display it.
if (counter === 0) {
// alert('this is where it happens');
clearInterval(counter);
$('.c').text('');
$('.c').append('<a href="ACTUAL FILE DOWNLOAD LINK" target="_blank">Download</a>');
}
}, 1000);
}