Например, на этой страничке вы можете одним кликом мыши убрать и/или вернуть разметочную сетку справа и слева (см в напели управления пункт Убрать/Восстановить разметку).
Также легко вы можете отключить на этой страничке рекламные объявления и статистику посещений и обратно восстановить эту информацию, кликнув "корзину с мусором".
Конечно, это совсем простые примеры.
Делать более сложные вещи не так уж легко с точки зрения веб-программера. Надо учитывать "особенности" (читай "глюки") разных браузеров.
Но эта помеха на пути к созданию качественного кода постепенно ликвидируется. Во-первых, изготовители браузеров медленно, но верно, все ближе и ближе подходят к единым мировым стандартам кодирования веб страничек. Во-вторых, популярная библиотека JavaScript фокусирующаяся на взаимодействии JavaScript и HTML, во многом сглаживает противоречия между браузерами, заставляет их работать "почти одинаково".
Огромное достоинство jQuery заключается в том, что эта библиотека предоставляет удобный API (application programming interface, интерфейс прикладного программирования) по работе с Ajax (Asynchronous Javascript and XML — "асинхронный JavaScript и XML").
Одной из важнейших функций jQuery является ajax() и ее упрощенные клоны-шотхенды: get(), getJSON(), и post(). Семейство этих функций служит для удобного взаимодействия и обмена данными по схеме: страничка браузера → сервер → страничка браузера.
Функцию post() обычно используют для обмена большими объемами данных, т.к. GET методы используют для обмена данными браузерную строку (пусть даже иногда и невидимым для пользователя образом) и, следовательно, имеют естественные ограничения и небольшие лимиты по объему передаваемой информации.
Но когда речь идет о небольших порциях информации следует использовать функцию get() или, еще лучше, функцию getJSON().
Из названия функции getJSON() видно, что в данном случае обмен данными производится в формате JSON (JavaScript Object Notation), который является более "родным" для HTML среды.
Формат JSON имеет возможность обмена данными между разными доменами и полноценную удобную поддержку со стороны серверного языка PHP в виде функций:
json_decode — Decodes a JSON string (делает раскодировку объекта JSON, полученного от браузера).
json_encode — Returns the JSON representation of a value (кодирует данные в JSON формат для передачи в браузер).
Простой практический пример использования функции getJSON().
Давайте, передадим данные с нашей рабочей станции на сервер с помощью следующих переменных:
ajax_ok - признак согласия пользователя на передачу данных со своей рабочей станции (вообще, с технической точки зрения этого согласия можно было бы и не спрашивать, а просто без всяких вопросов схватить данные, но с этической точки зрения такое согласие нужно запросить обязательно).
Некоторые временные характеристики с точки зрения рабочей станции (work station, далее в переменных используется префикс в виде сокращения work_st_ ):
work_st_FullYear - год
work_st_Month - месяц
work_st_Date - день
work_st_Hours - час
work_st_Minutes - минуты
work_st_Seconds - секунды
work_st_TimezoneOffset - смещение в минутах от нулевой зоны Гринвича (GMT) с точки зрения рабочей станции.
В ответ сервер передаст информацию в формате JSON:
Некоторые временные характеристики, уже с точки зрения сервера время считается Лондонским (UTC+0) (далее в переменных используется префикс server_ ):
server_FullYear - год
server_Month - месяц
server_Date - день
server_Hours - час
server_Minutes - минуты
server_Seconds - секунды
Сервер также рассчитывает и передает разницу между данными рабочей станции и сервером:
dif_Year - разница в значении года
dif_Month - разница в значении месяца
dif_Date - разница в значении дня
dif_Hours - разница в значении часа
dif_Minutes - разница в значении минут
dif_Seconds - разница в значении секунд
dif1 - разница в значении отклонения от (UTC+0) в минутах точная
dif1_rounded - разница в значении отклонения от (UTC+0) в минутах округленная до значения целых минут.
Итоговые данные, которые сервер берет из базы данных:
code1 - код зоны в формате (UTC+0).
minstart - начало интервала зоны в минутах.
minend - конец интервала зоны в минутах.
desce - описание зоны на англ.
descr - описание зоны на русском.
iso8601 - пример, как для данной зоны отображается время в международном формате.
dst - Регионы данной зоны, в которых действует DST (Daylight Saving Time, Переход на Летнее Время).
Теперь первое практическое упражнение по теме: попробуем определить временную зону и правильность установки времени на нашей теукщей станции.
Если вы хотите узнать свой часовой пояс, отметьте радио кнопку 'да' и затем нажмите кнопку 'Запустить процесс'.
Полученные результаты можно посмотреть в таблице ниже.
Процесс пошел... Прошу подождать...


Карта временных зон (для получения более качественного изображения кликните по карте в любом месте):
После того, как вы нажмите кнопку 'Запустить процесс', здесь я напечатаю объяснения по его результатам.
~~~~~~~~~~~~
Теперь вы можете скачать бесплатный дистрибутив для установки данного функционала на своем сайте.
Странички, рекомендуемые для посещения и изучения:
Выпуск 196 рассылки 'Как сделать популярный сайт' в котором даны подробные инструкции, как правильно устанавливать функционал теста времени на свой сайт и даны внятные объяснения, зачем это нужно.

Тропинка к данной страничке:
Главная страничка kocby.ru :: Рассылки :: Вебмастер :: jQuery :: Функция getJSON.