Сколько времени Вы провели на странице?
Описание: очень простой скрипт, но весьма интересный. Я, думаю, что мало, на каких сайтах показывается время, которое пользователь провёл на странице сайта. В общем, смотрите на результат.
Результат:
Вы здесь уже: минут/секунд.Код javascript (вставлять между тегами <head> и </head>):
<script language="javascript">
startdate = new Date();
clockStart = startdate.getTime();
function initStopwatch() {
var thisTime = new Date();
return (thisTime.getTime() - clockStart)/1000;
}
function getSecs() {
var tSecs = Math.round(initStopwatch());
var iSecs = tSecs % 60;
var iMins = Math.round((tSecs-30)/60);
var sSecs ="" + ((iSecs > 9) ? iSecs : "0" + iSecs);
var sMins ="" + ((iMins > 9) ? iMins : "0" + iMins);
document.getElementById("timer-counter").innerHTML = sMins+":"+sSecs;
setTimeout('getSecs()', 1000);
}
</script>
Код HTML (вставлять между тегами <body onLoad="getSecs()"> и </body>):
Вы здесь уже:
<span id='timer-counter' style='color:red;font-size:150%;font-weight:bold;'></span>
минут/секунд.
-
- Михаил Русаков
Комментарии (12):
нда, не так просто время вычислить...
Ответить
Блин, спасибо за функцию! Только одно место не понятно. Зачем нужно вычитать 30 секунд при вычислении минут: (tSecs-30)/60)?
Ответить
Без этого после 00:30 будет 01:30, что, разумеется, неправильно.
Ответить
А, понятно. Оно округляет вверх. Тогда можно так: var iMins = Math.floor(tSecs/60);
Ответить
А можно ли сделать скрипт наподобие этого, но чтобы было общее время на сайте, включая обновления страниц и переходы?
Ответить
Можно, для этого надо использовать cookie.
Ответить
Решил на сайте создать что то типа страницы развлечений, добавил туда скрипт с баша, что бы от туда транслировать цитаты. Что бы обновить цитату надо перезагрузить страницу. Теперь вопрос "Можно ли каким то образом заделать так, что бы время не обновлялось?", может как то перезагружать только часть страницы или ещё как?
Ответить
Это делается через JQuery и Ajax, либо через чистый JS (DOM и отправку POST-запросов).
Ответить
А как сделать чтото типа проведи на странице 58.00 мин и открой секретный раздел (делается прозрачный блок).
Ответить
Можно через 58 минут с помощью document.getElementById("block").display = "block;". А изначально ставить display: none; в CSS.
Ответить
У меня выдает ошибку. Пишет прямо на странице сайта этот скрипт . Что делать?
Ответить
Не хочет работать почему-то, хотя сделал всё по инструкции. Из-за чего может так быть? Я даже скопировал код через просмотр кода сайта, вставил у себя и всё равно отказывается работать. Кто может помочь, пожалуйста?
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.