Написание скриптов для стат обработки. Введение в курс написание скриптов

Что такое скрипт? Скрипт это программа написанная на языке веб-программирования, для сайтов, которая решает какие либо динамические задачи на сайте будь то создает корзину покупателю или организует переписку на сайте или голосование в общем реализует какую-либо потребность которую стандартными средствами html или css не реализуешь. Скрипты это чуть ли не основной компонент любого сайта, именно с помощью скриптов сайт из обычной рисованной странницы превращается во многофункциональную структуру, и чтобы , без скриптов ни как не обойтись.
Практически любой скрипт можно адаптировать под конкретный сайт настроить и внедрить. В этом разделе вам предложены очень интересные и полезные скрипты которые помогут вам сделать ваш сайт более удобным и разнообразным.

Это обновленная версия всем известного и любимого CMS Wordpress, на котором работает основная масса блогов в интернете. Версия полностью русифицирована и корректная. В этой версии многое улучшили и доработали, например улучшили текстовый редактор, создали новый вид для библиотеки изображений, новый каталог плагинов и т.д. Вы можете скачать Wordpress 4 и уже сегодня обзавестись прекрасным блогом.

Прекрасный мощный форум, который имеет огромный потенциал и что самое приятное он ещё и бесплатный. Версия 3 является логическим продолжением известного phpbb2, но только конечно же намного больше функционала, качества, и всевозможных улучшений. Хороший cms который ни сколько не уступит своим платным аналогам.

Инструкция по установке и настройке скрипта форума phpBB3 читайте .

Это самая популярная сборка одного из лучших CMS. На его основе вы сможете создавать проекты практически любой сложности, от персональной страницы до многоуровневого интернет магазина. Прелесть данного CMS заключается в простоте использования и достаточно несложной настройке, что дает вам огромные возможности в плане создания сайтов. Joomla 2.5.6 полностью бесплатный CMS с огромным набором плагинов и всевозможных шаблонов.

Joomla представляет собой набор скриптов, написанных на языке программирования PHP. Это готовый и бесплатный движок для вашего сайта. Joomla! старается сохранить вещи настолько простыми, насколько это возможно, в то же время предоставляя большие возможности. Наконец-то незнакомые с программированием люди могут получить систему полного управления своими сайтами, не тратя непомерных средств на программное обеспечение с закрытым кодом. Обычно вэб-сервер - это прерогатива хостеров, однако вы можете достаточно просто и быстро установить D.E.N.W.E.R., который установит на ваш компьютер готовый пакет программного обеспечения вэб-сервера и на котором вы сможете развернуть и установить CMS Joomla. Версия Joomla! 1.5.12 с локализованными демонстрационными материалами и предустановленным русским языком диалогов. Данный дистрибутив ничем не отличается от стандартного, кроме предустановленных русскоязычных пакетов локализации, демо-материалов на русском языке, языковых файлов TinyMCE и текста лицензии, отображаемой при инсталляции.

Фактически - это мини Yandex на Вашем сайте. Скрипт поиска по сайту без использования MySQL. Подходит для большинства малых и средних сайтов. Использует индексацию, благодаря чему время поиска значительно сокращается. Индексирует ~1Mb за 1сек (скорость зависит от вложенности папок и структуры Ваших страниц). Поиск занимает от долей секунды (в зависимости от сложности запроса и веса индекса) до...

Вордпресс - это бесплатная CMS с открытым кодом, распространяемая под GNU GPL. На сегодняшний момент WordPress - одна из самых популярных платформ для блогов. С помощью этого скрипта вы сможете сделать сайт с огромным функционалом, от простой странички с записями, до многофункционального сайта с регистрацией пользователей, и всевозможными сервисами, благодаря большому количеству плагинов. Так же для этого CMS написано огромное количество бесплатных шаблонов, которые помогут сделать ваш блог стильным и красивым.
Урок по установке и настройке.

(они же userscript , userJS , юзерскрипты ).

В этой статье я хочу поведать о том, что такое юзерскрипты, c чем их едят и, главное, как их готовят !

Что такое юзерскрипты?

Кратко: юзерскрипт - это программа, написанная на языке JavaScript, хранящаяся на компьютере пользователя и подключаемая браузером на определенных страницах. Юзерскрипт представляет собой файл с расширением .user.js (именно по расширению браузеры понимают, что файл является юзерскриптом), содержащий метаданные и непосредственно javascript-код.

При подключении к странице юзерскрипт выполняется так же, как и обычные javascript-сценарии.
У юзерскрипта есть доступ к DOM-дереву страницы, в контексте которой он выполняется.
В современных браузерах у юзерскрипта есть доступ к localStorage и прочим HTML5 API.

Юзерскрипты поддерживаются всеми основными современными браузерами (и даже кое-как поддерживаются IE7 и выше ).

Самый известный портал юзерскриптов - userscripts.org . Тут можно найти хранилище скриптов, инструменты управления своими скриптами на портале и, что не маловажно, отзывчивый форум (всё на английском).

Немного общей теории

Самыми распространенными являются скрипты под расширение GreaseMonkey для браузера Firefox .
Подробную информацию по GreaseMonkey и написанию юзерскриптов под GreaseMonkey можно узнать на http://wiki.greasespot.net .
Так сложилось исторически, что данный браузер был (и остаётся по сей день) первым, в котором поддержка юзерскриптов была выполнена на высоком уровне.

Не все скрипты, написанные для GreaseMonkey, могут запускаться в других браузерах. Причина в криворукости том, что во многих скриптах используется GM API - набор javascript-функций, специфичных для GreaseMonkey.

Однако, проще всего писать юзерскрипты под браузер Google Chrome .
На это есть ряд причин:

  1. Простым скриптам не нужна поддержка GM API (библиотека, доступная в GreaseMonkey)
  2. Google Chrome, в отличие от Firefox+GreaseMonkey, имеет отличнейший дебаггер.
  3. Сообщения об ошибках юзерскрипта в Firefox ужасны! Если вы не обладаете даром телепатии твердыми знаниями GreaseMonkey и javascript, написание юзерскрипта может превратится в муки!
  4. Google Chrome не требует расширений для поддержки юзерскриптов. Интерфейс для удаления/отключения юзерскриптов доступен «из коробки».
Очевидные минусы Google Chrome:
  1. Нет доступа к «родному» window.
  2. Не поддерживается директива @ include метаданных. Директива @ match глючит, можно сказать, что она тоже не поддерживается.

Особенности юзерскриптов

Код юзерскриптов может посмотреть любой желающий, вооруженный блокнотом.
Базовые знания javascript позволяют отсечь угрозу установки шпионских и вредоносных скриптов простым анализом кода скрипта (придётся задействовать мозг).

Все юзерскрипты запускаются после того, как загрузились все основные элементы страницы, но ещё не загрузились картинки. Можно сказать, что юзерскрипты грузятся по событию DOMContentLoaded .
В любом случае, проверки на window.onload не нужны .

Каждый браузер накладывает свои ограничения на исполнение юзерскриптов, но в целом юзерскрипты могут делать почти всё, что могут скрипты на странице.
Чаще всего юзерскрипты используются для изменения интерфейса страницы или для добавления плюшек, блекджека и шлюх (юзерскрипты для социальных сетей).
Бывают и продвинутые юзерскрипты, которые представляют собой самостоятельные программы (аукционные и игровые боты, плагины-помощники и т.д).

Анатомия юзерскриптов

Юзерскрипт - это текстовый файл с расширением user.js. В начале файла располагается блок метаданных - описание самого скрипта. После блока метаданных следует javascript-код, который и будет исполняться браузером.

Рассмотрим тестовый скрипт, который показывает alert с текстом на определенной странице.
// ==UserScript== // @name myUserJS // @description Мой самый первый юзерскрипт // @author Vasya Pupkin // @license MIT // @version 1.0 // @include http://userscripts.org/* // ==/UserScript== // Оборачиваем скрипт в замыкание, для кроссбраузерности (opera, ie) (function (window, undefined) { // нормализуем window var w; if (typeof unsafeWindow != undefined) { w = unsafeWindow } else { w = window; } // В юзерскрипты можно вставлять практически любые javascript-библиотеки. // Код библиотеки копируется прямо в юзерскрипт. // При подключении библиотеки нужно передать w в качестве параметра окна window // Пример: подключение jquery.min.js // (function(a,b){function ci(a) ... a.jQuery=a.$=d})(w); // не запускаем скрипт во фреймах // без этого условия скрипт будет запускаться несколько раз на странице с фреймами if (w.self != w.top) { return; } // дополнительная проверка наряду с @include if (/http:\/\/userscripts.org/.test(w.location.href)) { //Ниже идёт непосредственно код скрипта alert("Userscripts приветствует вас навязчивым окном."); } })(window);

Важно: данный скрипт представляет собой оболочку для кроссбраузерных юзерскриптов. Этот же скрипт, но с английскими комментариями, можно стянуть с pastebin.com и использовать безнаказанно.

В самом начале располагается блок метаданных (в виде комментария).
// ==UserScript== // ... // ==/UserScript==
Этот блок состоит из директив описания юзерскрипта. Ниже в таблице представлены основные директивы и их назначение.

Важно: Все директивы, как и сам блок метаданных, могут отсутствовать.

Директива Назначение
@ name Название юзерскрипта.
Это название будет отображаться в интерфейсе управления
юзерскриптами. Если директива отсутствует, то название
юзерскрипта будет таким же, как и название файла.
@ description Описание юзерскрипта.
Это описание будет отображаться в интерфейсе управления
юзерскриптами.
@ namespace Пространство имён.
Определяет уникальность набора скриптов.
Сюда можно вписать имя домена, принадлежащего вам. Или любую другую строку.
Считайте, что это второе название скрипта. Обязательная директива для Trixie!
@ author Имя автора.
@ license Название лицензии, по которой распространяется юзерскрипт.
@ version Номер версии юзерскрипта.
К сожалению, механизма автообновления нету ни в одном браузере,
поэтому номер версии - это просто цифры, которые отображаются в интерфейсе.
@ include
на которой нужно запускать юзерскрипт.
Поддерживает вайлдкард * (применимо в GreaseMoneky, Opera, IE).
Для каждого отдельного url нужно использовать отдельную директиву @ include.
@ exclude Директива описания url страницы,
на которой не нужно запускать юзерскрипт.
Поддерживает вайлдкард * (применимо в GreaseMonkey, Opera, IE).
Для каждого отдельного url нужно использовать отдельную директиву @ exclude.
@ match Аналогично @ include, но с более жесткими ограничениями
(применимо в GreaseMonkey старше 0.9.8, Google Chrome).
Подробнее об ограничениях и формате директивы можно
прочитать на этой странице .
Для каждого отдельного url нужно использовать отдельную директиву @ match.

Важно: Как показала практика, полагаться на директиву @ match в юзерскриптах не стоит.
Google Chrome периодически отказывается учитывать @ match
и запускает юзерскрипты на всех страницах.
Для предотвращения такой ситуации в юзерскрипты,
которые будут запускаться не только в Firefox,
нужно добавлять код проверки адреса страницы (см. ссылку в коде юзерскрипта) .

Важно: При отсутствии директив @ include или @ match, юзерскрипты будут запускаться на всех страницах .

В нашем юзерскрипте использован ряд хитростей:

  1. Для того, чтобы юзерскрипты имели одинаковое поведение и не загрязняли глобальную область видимости, код оборачивается в замыкание (см. в коде скрипта) .
  2. Для правильного подключения библиотек внутри юзерскрипта и для обхода некоторых хитрых особеннойстей GreaseMonkey, необходимо «нормализовать» ссылку на глобальную область видимости window (см. в коде скрипта) .
  3. Для того, чтобы юзерскрипт не запускался несколько раз на одной и той же странице, необходимо останавливать работу при запуске юзерскрипта во фреймах (см. в коде скрипта) .
  4. Для того, чтобы юзерскрипт запускался только на нужных нам страницах, необходимо явно проверять url страницы (см. в коде скрипта) .
  5. Благодаря такой структуре, юзерскрипт может быть относительно просто преобразован в букмарклет .

Результат

Наш юзерскрипт готов к использованию!
Нет, серьёзно, вы можете скопировать код юзерскрипта в файл, назвать его my.user.js, и закинуть полученный файл в браузер (используйте Chrome или Firefox с установленным GreaseMonkey).

Конечно, наш юзерскрипт не обладает серьезными функциями, код выглядит страшным и малопривлекательным (для непосвященного человека). Но в итоге мы получили заготовку для кроссбраузерных юзерскриптов .
Это значит, что юзерскрипт можно запустить практически в любом современном браузере!
И это замечательно!

Остаётся вопрос: как «раздать» наш скрипт пользователям (ведь мы писали скрипт не только для себя)?
Варианты:

  • Зарегестрироваться на портале