06.08.2020, 04:29
|
|
Профессор
|
|
Регистрация: 24.02.2019
Сообщений: 806
|
|
И наверное нет смысла обновлять ежесекундно если на странице должно отображаться только день недели, число, месяц, год, кажется лучше определить время от загрузки страницы до конца суток, и обновить и потом раз в 24 часа по таймеру обновлять?
|
|
06.08.2020, 05:54
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от Блондинка
|
определить время от загрузки страницы до конца суток, и обновить и потом раз в 24 часа
|
То есть, есть уверенность стопроцентная, что кто-то будет сидеть по 24 часа и ждать обновления? А ничего, что время не будет ждать 24 часа, оно будет тикать, и фактически уже будет другой день, а ваш "календарь" все еще живет прошлым?
|
|
06.08.2020, 16:56
|
|
Профессор
|
|
Регистрация: 24.02.2019
Сообщений: 806
|
|
Сообщение от laimas
|
То есть, есть уверенность стопроцентная, что кто-то будет сидеть по 24 часа и ждать обновления? А ничего, что время не будет ждать 24 часа, оно будет тикать, и фактически уже будет другой день, а ваш "календарь" все еще живет прошлым?
|
Немножко не так, типа осталась открытой вкладка,и посетитель зашел через сутки-двое,в этом случае надо чтобы все компоненты даты соответсвовали сегодняшней, а время вроде тут не причём, так сказать два разных отдельных скрипта, время отдельно (часы, минуты, секунды) а один скрипт с ежесекундным обновлением это один скрипт, дата (день недели, число месяц год) с обновлением раз в сутки другой скрипт...
|
|
06.08.2020, 19:16
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Ну это ведь речь не об обновлении, а установке текущей даты во время активации страницы, а не то, что в начале вы написали.
Ищите Page Visibility API, оно сообщит когда вкладка стала активна, о поддержке этого API и "эмуляции" его в браузерах без поддержки.
|
|
06.08.2020, 20:16
|
|
Профессор
|
|
Регистрация: 24.02.2019
Сообщений: 806
|
|
laimas,
пока вопрос как разделить число и год на квадратики...
|
|
06.08.2020, 20:44
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от Блондинка
|
пока вопрос как разделить число и год на квадратики...
|
Зачем, если у вас практически статические данные - Дата, а получать вы будете ее из объекта Date, получайте компоненты даты, разделяйте их на отдельные, и вставляйте вот что угодно. К чему вам код выше?
|
|
06.08.2020, 21:27
|
|
Профессор
|
|
Регистрация: 03.02.2020
Сообщений: 2,750
|
|
Сообщение от Блондинка
|
пока вопрос как разделить число и год на квадратики...
|
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<style>
span.U_003A { color: #9c9c9c; }
#clock.x span.U_003A { color: #333399; }
#clock .timer{
display: flex;
}
#clock .timer div:nth-child(4){
background-color: #228B22;
color: #FFFFFF;
}
#clock .timer div:nth-child(7){
background-color: #FF00FF;
color: #FFFF00;
}
#clock .timer div{
border: 1px solid #0000FF;
display: inline-block;
width: 16px;
text-align: center;
margin: 0 1.5px;
}
</style>
<span id="clock"></span>
<script type="text/javascript">
function clock() {
var date = new Date();
var hour=date.getHours();
var minute=date.getMinutes();
var sec=date.getSeconds();
var day=date.getDate();
var month=date.getMonth();
var year=date.getFullYear();
var weekday=date.getDay();
var monthes=new Array ("января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря");
var dayNames = new Array("Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота");
function numberWrapInDiv(num)
{
return [...num.toString().padStart(2, "0")].map(num => `<div>${num}</div>`).join("")
}
[hour, minute, sec, day, year] = [hour, minute, sec, day, year].map(numberWrapInDiv)
document.getElementById("clock").innerHTML = "<div class='timer'>"+hour+" <span class='U_003A'>:</span> "+minute+" <span class='U_003A'>:</span> "+sec+"</div>"
+dayNames[weekday]+"<br/>"
+"<div class='timer'>"+day+" "+monthes[month]+" "+year+"<div>г.</div>"+"</div>";
document.getElementById("clock").classList.toggle("x");
window.setTimeout("clock()",500);
}
clock();
</script>
</body>
</html>
|
|
06.08.2020, 22:35
|
|
Профессор
|
|
Регистрация: 24.02.2019
Сообщений: 806
|
|
Блииин, достало это раритетное дерьмо, как обычно только белый экран...
|
|
07.08.2020, 21:14
|
|
Профессор
|
|
Регистрация: 24.02.2019
Сообщений: 806
|
|
Сообщение от voraa
|
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<style>
span.U_003A { color: #9c9c9c; }
#clock.x span.U_003A { color: #333399; }
#clock .timer{
display: flex;
}
#clock .timer div:nth-child(4){
background-color: #228B22;
color: #FFFFFF;
}
#clock .timer div:nth-child(7){
background-color: #FF00FF;
color: #FFFF00;
}
#clock .timer div{
border: 1px solid #0000FF;
display: inline-block;
width: 16px;
text-align: center;
margin: 0 1.5px;
}
</style>
<span id="clock"></span>
<script type="text/javascript">
function clock() {
var date = new Date();
var hour=date.getHours();
var minute=date.getMinutes();
var sec=date.getSeconds();
var day=date.getDate();
var month=date.getMonth();
var year=date.getFullYear();
var weekday=date.getDay();
var monthes=new Array ("января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря");
var dayNames = new Array("Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота");
function numberWrapInDiv(num)
{
return [...num.toString().padStart(2, "0")].map(num => `<div>${num}</div>`).join("")
}
[hour, minute, sec, day, year] = [hour, minute, sec, day, year].map(numberWrapInDiv)
document.getElementById("clock").innerHTML = "<div class='timer'>"+hour+" <span class='U_003A'>:</span> "+minute+" <span class='U_003A'>:</span> "+sec+"</div>"
+dayNames[weekday]+"<br/>"
+"<div class='timer'>"+day+" "+monthes[month]+" "+year+"<div>г.</div>"+"</div>";
document.getElementById("clock").classList.toggle("x");
window.setTimeout("clock()",500);
}
clock();
</script>
</body>
</html>
|
На экране андроид 4, 15 года скрипт не работает, белый экран...
|
|
08.08.2020, 22:30
|
|
Профессор
|
|
Регистрация: 03.02.2020
Сообщений: 2,750
|
|
Сообщение от Блондинка
|
На экране андроид 4, 15 года скрипт не работает, белый экран...
|
Наверно дело не в Андроиде, а в том, какой браузер и какой версии.
Сейчас проверил. У меня Андроид 8, Хром 84 (регулярно обновляется).
Все работает.
А ваш первоначальный вариант работает?
|
|
|
|