Учимся писать скрипты правильно. Введение в курс написание скриптов Как создать свой скрипт

(учебный курс для начинающих)

ВВЕДЕНИЕ

Основная цель курса: это научится писать скрипты в Интернете для самых различных прикладных задач и обучения. Скрипт (сценарий, диалог) - это своего рода тренажер в котором можно проследить:
- какие данные поступают с возможностью их изменения,
- какие параметры вычисляются,
- взаимосвязь входных и выходных параметров по характеру выводимых графиков,
- расчленить задачу на ее составляющие с построением гиперсечений,
- зайдя в коды скрипта, прочитать математический код задачи,
- благодаря объектно-ориентированному принципу программирования (методов) привлечь для работы в скрипте другие программы,
- организовать работу скриптов с базами данных и номограммами,
- организовать выход из скрипта в другие мощные прикладные системы (например, систему "Вектор"), где более профессионально решить задачу и, если надо, вернуться на новом качественном уровне.

То, чем сказано выше подкрепляется результатами проделанной работы на страницах сайта:
150 скриптов , Ноу-Нау , изучением учебных дисциплин с тест-картами контроля и обучения.

Задача настоящего курса - это с помощью разных методик: пассивных (для ленивых, занятых), активных, творческих - научиться писать скрипты.

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

С чего начинать писать скрипты?

Во-первых, разберемся, что такое вообще скрипт?
Скрипт - это сценарий (диалог, макрокоманда) .

Сценарий включает всё: и задание входных и выходных параметров, выполнения действия (диалог), просмотр информации в цифровом и графическом видах, звуковое и видео-сопровождение, объединенные одним словом – в мультимедиа и т.д.

Как создавать скрипты?

Существует множество программ, с помощью которых можно писать скрипты, причем они с одним общим свойством - они пишутся для Интернета. Работа же с Интернетом (просмотр Web-страниц и т.д) осуществляется броузером - программой, пригодной для просмотра HTML-файлов. Таких программ много, но самая распространенная Microsoft Internet Explorer - она стоит на каждом компьютере и поэтому о других начинающему знать не надо. Другое важное свойство броузеров, что они могут не только просмотреть HTML-файлы, но и производить их отладку, причем не в Интернете, а локально за компьютером, не подключенном к Интернет.

Самая простая страница (считай самый простой скрипт) создается помощью система HTML, которая есть не что иное, как основанная на тексте, кодовая система, используемая для того, чтобы сообщить броузеру (в нашем случае Internet Explorer) каким образом следует отображать информацию. Есть много готовых систем, позволяющих создавать HTML-файлы, в которые пользователю, в принципе, не надо и влезать. Однако, чтобы работать с JavaSсript - где без написание сценариев уже не обойтись - умение работать с текстом, созданием таблиц, размещением в них других таблиц, входных и выходных переменных, формирование кнопок "Выполнить", "Изобразить" и т.д. - знание элементарных кодов HTML и элементарное умение работать с ними необходимо. При изучение для этого, в принципе, достаточно одного урока – потом используйте Help .

Однако для написания же полноценных скриптов, требуется что-то еще.
И этим «что-то» еще является полноценная программа написания скриптов JavaScript , без которой невозможно создать скрипт (считай- и Web-страницу). Здесь уже необходимы знаниям и умения по всей программе. Написано огромное множество скриптов, к сожалению все они для Web -страниц в чистом виде, и почти нет для инженерных, художественно-творческих и тем более бытовых.
Правда, готовые скрипты можно использовать и в качестве шаблонов, или какой-то части вашего скрипта, но все это требует корректировки, на которую уйдет больше времени, чем на написание нового скрипта.
Изучение JavaSript является не сложным делом и даже начинающие программисты смогут объединить вместе несколько сценариев, способных поразить не только друзей, но и вас самих.

Графика

Можно было бы не ставить вопрос о том, как научиться писать скрипты. В Интернете
и на прилавках магазинов представлено огромное количество книг, пособий и программ, CD-дисков - если бы не их слабое место - там нет (или почти нет) возможности работать с векторной графикой!
Причина в том, что векторная графика с одной стороны еще не под силу Интернету, а с другой - прикладные программы с векторной графикой ориентированы на профессиональные задачи проектирования и изготовления, еще не решают задачи, которые ставит Интернет и, в частности, скрипт-программирования.
Продолжение следует…

Инструкция

В зависимости от того, где происходит исполнение сценария, скрипты делятся на «клиентские» и «серверные». Переходя по какому-то адресу в сети, мы отправляем URL интересующей страницы серверу, и тот запускает сценарий (скрипт), находящийся по указанному адресу. Скрипт, выполняя на сервере запрограммированные в нём действия, собирает страницу из нужных блоков и отправляет её браузеру. Это - серверный скрипт. Получив страницу, браузер на нашем визуализирует её для нас и, если в полученном коде страницы есть какой-то сценарий, то уже он занимается исполнением этого скрипта. Это - клиентский скрипт.
Чтобы сервер или браузер могли прочесть, понять и исполнить сценарий он должен быть составлен и записан по известным им правилам. Такие наборы правил называют скриптовыми языками программирования. Большинство серверных сценариев в настоящее время пишутся на языке PHP, а большинство клиентских - на языке JavaScript. Чтобы написать скрипт достаточно иметь обычный текстовый редактор – блокнот. Но для постоянного программирования скриптов не обойтись без специализированного редактора. Такой редактор берёт на себя львиную долю рутинной работы по написанию скриптов, оставляя программисту больше времени для творчества.
Давайте напишем простой скрипт на серверном языке PHP. Первой строкой надо сообщить исполнителю, что с этого места начинается сценарий. На языке PHP этот открывающий тег выглядит так:Между этими двумя тегами находятся инструкции - языка. Например, напечатать надпись, оставленную О. Бендером на Кавказских скалах, так:echo ("Здесь были Кися и Ося");А инструкция показать текущее время в формате ЧАС:МИНУТА пишется так:echo date("H:i");Полностью PHP-скрипт, составленный из этих операторов, будет выглядеть так:echo date("H:i");
echo (" здесь были Кися и Ося!");?>После выполнения этого скрипта серверной программой-исполнителем (интерпретатором языка) страничка бы выглядела так:

А этот же сценарий на клиентском языке JavaScript будет выглядеть так:var now = new date();
document.write ("В ");
document.write (now.getHours() + ":" + now.getMinutes());
document.write (" здесь были Кися и Ося!");Здесь строка var now = new date() отдаёт исполнителю сценария команду создать новый виртуальный объект с именем "now", который представляет собой текущую дату и время. document.write() – это команда написать в странице то, что указано в скобках, а команды now.getHours() и now.getMinutes() предписывают извлечь из объекта “now” текущие час и минуту.
Осталось для большей наглядности объединить эти два скрипта в один файл, сохранить его на сервере и набрать URL в адресной строке браузера. В результате увидим одинаковые строки, одна из которых была выполнена по нашему сценарию на сервере (интерпретатором PHP), а другая - в нашем компьютере (интерпретатором JavaScript).

Что такое скрипт? Скрипт это программа написанная на языке веб-программирования, для сайтов, которая решает какие либо динамические задачи на сайте будь то создает корзину покупателю или организует переписку на сайте или голосование в общем реализует какую-либо потребность которую стандартными средствами 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).

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

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

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

Опытные пользователи всегда пытаются упростить работу с ПК и наверняка захотят узнать, как сделать скрипт на компьютере и что это такое.

Что такое пакетный файл

Пакетный файл – это термин, который часто приходится слышать пользователям ПК. По сути, это способ делать вещи, не делая их на самом деле. Набор команд также известен как скрипт.

Следовательно, это документ сценария, используемый для автоматизации задач в операционных системах DOS, Windows и OS / 2.

Многим пользователям известен термин интерпретатор командной строки, известный как CMD или командная строка. Он принимает различные директивы в виде ввода с клавиатуры и обрабатывает их.

Пакетный документ играет роль посредника между пользователями и командной строкой. Элементы с форматом bat, cmd и btm содержат команды CMD. Во время запуска такого документа, директивы, записанные в нем, выполняются в интерпретаторе в последовательном порядке. В противном случае их нужно будет вводить вручную, построчно.

Зачем нужен скрипт

Скрипт экономит время пользователя. В противном случае нужно будет вводить одни и те же директивы снова и снова.

Например, можно запланировать выключение операционной системы через определенное время с помощью CMD. Когда будет создан нужный документ, достаточно будет лишь дважды щелкнуть по нему. Он запустится, и система выключится по истечении установленного времени.

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

При создании пакетного элемента также можно включить циклы (for), условные операторы (if), управляющие операторы (go to) и т. д. Кроме того, есть возможность запустить один документ из другого с помощью функции call.

Основные bat команды

Полезно будет знать некоторые bat директивы, которые помогут создать базовые пакетные файлы:

  • Title используетсядляизменениятекстазаголовка, отображаемого в верхней части окна CMD.
  • Echo – отображает входной ряд как вывод. Желательно использовать опцию ON или OFF для ECHO, чтобы включить или выключить echo. Эта функция позволяет выводить на экране те директивы, которые выполняются.
  • Pause используется для остановки выполнения скрипта.
  • Exit – функция для выхода из интерпретатора.
  • Cls применяется для очистки экрана от всех команд.
  • :: – добавить комментарий. Командная строка игнорирует любой текст, написанный как комментарий.

Выше перечислено внутренние директивы, которые поставляются с ОС. Пакетный скрипт также может поддерживать внешние команды. Они добавляются при установке нового программного обеспечения в системе. Например, если на компьютере установлен Google Chrome, можно воспользоваться функцией «chrome» в окне CMD.

Все эти команды могут помочь создать простой bat-файл. Есть возможность улучшить свой скрипт, изучив больше функций из списка CMD.

Создание bat-скрипта в Windows

В Windows можно создать командный файл, используя шаги ниже или шаги, упомянутые в разделе командной строки MS-DOS. Если удобно использовать стандартные программы, можно воспользоваться любым текстовым редактором (например, Блокнот или WordPad) для создания пакетных документов.

Для того чтобы создать скрипт с расширением bat в блокноте, стоит выполнить следующие действия:

  1. Щелкнуть Пуск.
  2. Ввести Блокнот в поле «Выполнить» и нажмите Enter. Также можно использовать любой аналогичный редактор текстовых элементов, например Notepad ++.
  3. Когда Блокнот откроется, ввести следующие строчки или скопировать и вставить их.
  4. Щелкнуть «Файл», затем «Сохранить» и перейти в папку, в которой нужно сохранить. В качестве имени можно ввести test.bat. Если в версии операционной системы есть параметр «Сохранить как», выбрать «Все файлы», в противном случае он сохраняется как текстовый. Выполнив эти шаги, нажать кнопку «Сохранить» и выйти из блокнота.
  5. Чтобы запустить документ, следует дважды щелкнуть на него. Окно CMD откроется автоматически с желаемым выходом. После завершения выполнения, окно автоматически закрывается.
  6. Можно попробовать добавить функцию echo on в шаг 2, чтобы посмотреть, что происходит на каждой строчке.

Шаги для создания скриптов практически одинаковы, независимо от того, установлена версия Windows 10, 8.1, 7 или даже XP.

Стоит обратить внимание, что можно использовать расширение cmd вместо расширения bat.

Создание bat-файла в MS-DOS

Чтобы создать пакетный элемент в MS-DOS или командной строке Windows, важно выполнить следующие действия:


Полезно обратить внимание: если есть необходимость добавить больше строчек в пакетный элемент, достаточно ввести edit test.bat, чтобы открыть его для редактирования. Некоторые версии MS-DOS и загрузочных дискет могут не иметь директивы редактирования.

Если это так, нужно либо ввести edit.com, либо использовать функцию copy con.