Думаю, что многие из читателей сталкивались с необходимостью обновления даты, которая обычно ставится рядом со значком Copyright на сайте. Тем более, этот год почти всегда стоит на темах для Wordpress и других CMS, блоговых и других движков. Часто это забывалось, часто было лень... Но это дело можно достаточно просто автоматизировать, что позволит забыть об этой проблеме навсегда. Причём автоматизировать можно двумя разными путями: генерация года на сервере, с помощью, например, PHP и генерация на стороне клиента с помощью JavaScript. Ниже я предлагаю использовать второй вариант, как более простой для новичков и более универсальный.
Итак, нам необходимо, чтобы в определённом месте на странице всегда показывался текущий год.
Для решения этой задачи нам необходимо всего-лишь несколько строк JavaScript кода и задание контейнера для вставки года.
Для примера я возьму HTML, имеющийся сейчас в моей теме:
<span class="copy">Copyright © 2007 A2P.net.ru</span>
Я хочу, чтобы вместо 2007 выводились годы в виде 2007-<текущий год>, то есть на момент написания статьи это 2007-2008.
Вначале определим контейнер, в котором будет выводится текущий год, используем для этого тэг SPAN, которому мы зададим id="copy_date".
<span class="copy">Copyright © 2007-<span id="copy_date"></span> A2P.net.ru</span>
Теперь напишем JavaScript который будет вставлять год в контейнер с Id "copy_date". Для получения текущего года используем метод getFullYear(), объекта созданного из класса Date.
<script type="text/javascript">
var cur = new Date();
document.getElementById('copy_date').innerHTML = cur.getFullYear()+" "
</script>
Теперь соберём это вместе. Здесь главное, чтобы JavaScript был размещен ниже HTML кода с контейнером.
<span class="copy">Copyright © 2007-<span id="copy_date"></span> A2P.net.ru</span>
<script type="text/javascript">
var cur = new Date();
document.getElementById('copy_date').innerHTML = cur.getFullYear()+" "
</script>
В общем-то это все. Единственное, что можно заметить, это то, что показываемый год зависит от настроек пользователя просматривающего сайт - какой год будет выставлен у него в системе такой и будет отображён на странице.
На сим, все. Замечания, пожелания и предложения всегда буду рад прочитать в комментариях.
Комментариев: 9
Вообще-то эта штука вроде как призвана указывать как долго существует сайт и обновляется ли.. Иначе вообще не вижу в ней смысла
В общем-то для указания как долго существует сайт это как раз подходит, ведь раз он ещё существует, значит вполне корректно ставить текущий год.
А вот насчёт того обновляется ли он… Тут уже вряд ли можно ориентироваться на выводимый год. Все таки об обновлениях сайта больше говорят материалы на сайте
Просто за последние несколько месяцев для нескольких клиентов нужно было обновить годы, сменив 2007-й на 2008-й, и я решил избавиться от необходимости в дальнейшем делать это.
То есть если у меня выставлен 2012 по рассеяности ли, специально ли, то и отображаться будет 2012?
Да, если выставить у себя 2012 год и зайти на сайт с таким скриптом, то год будет отображаться как 2012. В этом и есть небольшой недостаток данного подхода.
В принципе, если это критично, можно использовать PHP для вставки года на стороне сервера.
Ппц бред, такие вещи если и делать, то уж точно не на javascript
Я писал, что надежней безусловно делать на стороне сервера. Но если нужно быстро поправить, например, шаблон для какой-нить CMS, или просто статичный файлик, то, мне кажется, так будет проще простому юзеру.
Не вижу причин почему так не делать в принципе, не расскажете?
довольно легко неожидал
А еще проще сделать это так:
Copyright © 200x-
раз речь пошла о CMS’ках
Copyright © 200x-[php echo date(’Y');] (вместо [] - объявление php)