|
JavaScript: полезные функции (часть II)Несколько небольших и полезных Java-скриптов, позволяющих добавить к функциональности сайта некоторые приятные мелочи. Дата модификации документа Некоторые web-дизайнеры находят полезным отображать внизу странички дату последней модификации документа. Это делается для того, чтобы посетитель мог определить, насколько часто обновляется сайт. Правда, это же накладывает и определённые обязательства по поддержке сайта. Согласитесь, что наблюдать прошлогоднюю дату доставляет мало удовольствия. Но если Вы всё-же решились использовать этот приём, то следующий скрипт Вам пригодится. Есть два способа добиться нужного нам результата. Первый заключается в том, что строчку с датой вы корректируете вручную, а второй, и он более привлекательный, заключается в использовании свойства lastModified объекта document . Для этого в нужном месте странички достаточно вставить следующую конструкцию: <script language="JavaScript"> Дата выводится в формате, соответствующем региональным настройкам компьютера, а это не всегда нам подходит. Но, несколько усложнив скрипт, мы сможем выводить дату практически в любом формате. Для этого достаточно печатать дату модификации документа не сразу, а предварительно разобрав её на составляющие. Сделать это можно при помощи создания объекта Date , передав ему в качестве параметра document.lastModified : <script language="JavaScript"> Теперь осталось только прочитать день, месяц и год, воспользовавшись методами объекта Date и напечатать дату в нужном нам формате. Именно так и сделано в вышеприведённом скрипте, который печатает дату в формате, соответствующем региональным настройкам России (ДД/ММ/ГГГГ). Обратите внимание на два обстоятельства. Первое - это то, что при печати месяца мы увеличиваем его на единичку, так как метод getMonth() возвращает нам номер месяца в виде целого числа от 0 (январь) до 11 (декабрь). А второе заключается в том, что год мы печатаем не сразу, а вначале решаем проблему 2000 года. В данном случае эта проблема заключается в том, что метод getYear() в версии JavaScript от Microsoft возвращает нам год в виде четырёх цифр, а в версии Netscape Navigator в виде последних двух (после 2000 года в виде трех :), которые следует рассматривать как смещение от 1900 года. Решение проблемы осуществляется достаточно просто - вначале мы берём остаток от целочисленного деления на 100 и тем самым гарантированно получаем год в виде двух последних цифр. Теперь нужно выяснить, к какому веку относятся эти две цифры - для этого мы сравниваем их с 1950-м годом и считаем, что если число меньше 50, то это уже новый век, а иначе - старый. Данным способом мы превратили проблему 2000 года в проблему 2050 года :), когда эта уловка уже наверняка потеряет смысл. Как сделать страничку стартовой? В последнее время стало достаточно модным применять этот скрипт. Его смысл заключается в том, что где-нибудь на видном месте странички мы делаем ссылку, нажав на которую пользователь сможет сделать Вашу страничку стартовой, т.е. такой, которая загружается при запуске броузера и нажатии на кнопку "Домой". Этот приём может быть полезен для информационных ресурсов, но не стоит им особо злоупотреблять. К сожалению, на данный момент скрипт будет работать только под Internet Explorer версии 5.x. Учтите это. Сам же код требуется разместить в подходящем месте, а выглядит он так: <p><a href="#" onClick="this.style.behavior='url(#default#homepage)'; this.setHomePage('http://www.yoursite.com/'); return false;">Сделать стартовой страницей</a></p> Желающие могут сделать стартовой , например, мою страничку. ;-) Добавление странички в "Избранное" Подобно предыдущему скрипту, этот приём также работает лишь под Internet Explorer, но уже начиная с 4-ой версии. И точно такие же замечания по поводу его уместности. Размещая на видном месте ссылку на этот скрипт, мы позволяем пользователю при помощи одного щелчка добавить наш сайт в папку "Избранное". А сам скрипт выглядит следующим образом: <p><a href="#" onClick="window.external.addFavorite('http://www.yoursite.com/', 'Description'); return false;">Добавить сайт в Избранное</a></p> Желаете проверить? Нажмите здесь , и Вы сможете добавить в избранное мой сайт. :-) Распечатка страницы из кода Иногда требуется распечатать страничку, причём сделать это нужно непосредственно из кода. Сначала кажется, что это невозможно, но всё не так плохо. На самом деле в Netscape Navigator для этого есть даже встроенный механизм. Достаточно просто вызвать метод window.print() А вот для получения такого же результата в Internet Explorer мы применим не совсем обычный способ и воспользуемся специализированным объектом ActiveX, который и позволит нам распечатать страничку. Таким образом, наша задача разделилась на две части. Первая - определить тип броузера, а вторая - корректно вставить объект на страничку. Вот пример кода, который делает все необходимые действия: <script language="JavaScript"> Осталось только вызвать этот код. Для этого, к примеру, можно воспользоваться событием onClick : <a href="#" onClick="printit();">Распечатать статью</a> Только не путайте этот скрипт с версиями страничек "для распечатки". Страничка для распечатки - это обычный html-файл, из которого убрали дизайнерское оформление и оставили очень простую вёрстку, чтобы при печати не было лишних элементов. Приведённый же выше код непосредственно посылает страничку на принтер. Copyright - Webstudio FT © 2001 - 2004 Сделано в России |