Работа с метатегами в среде Dreamweaver — КиберПедия 

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Работа с метатегами в среде Dreamweaver

2022-10-05 19
Работа с метатегами в среде Dreamweaver 0.00 из 5.00 0 оценок
Заказать работу

А теперь давайте поговорим о том, как работать с метатегами в среде Dreamweaver. Мы уже знаем, что такое метатеги и как они могут нам помочь (и навредить), осталось выяснить, поддерживает ли их наша любимая программа.

Поддерживает. И замечательно поддерживает!

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

Включите пункт-выключатель Head Content в меню View или нажмите комбинацию клавиш CTRL + SHIFT + W. В верхней части окна документа Dreamweaver, ниже инструментариев появится панель заголовка Web-страницы (рис. 14.1). На этой панели в виде символических значков представлены все имеющиеся на странице метатеги.


Рис. 14.1. Панель заголовка

Вы можете выбрать любой значок и изменить значения атрибутов метатега, пользуясь редактором свойств. Для помещения на Web-страницу новых метатегов применяется подменю Head Tags меню Insert или вкладка Head панели объектов. Вы можете использовать тот способ, который вам больше нравится. Чтобы удалить ненужный метатег, выберите его и нажмите клавишу Del.

А сейчас давайте рассмотрим различные метатеги, которые вы можете поместить на страницу, их параметры и случаи, когда они могут быть полезны.

Язык JavaScript

Выше автор предупреждал, что не будет давать вам полный курс JavaScript. Эта книга не о JavaScript, а о Macromedia Dreamweaver MX, а все остальное вторично. Если вы хотите побольше узнать о JavaScript, принципах написания программ на этом языке и, вообще, о "классическом" программировании, найдите хорошие книги по этой теме. А мы вернемся к Dreamweaver.

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

Давайте вернемся к уже знакомому нам HTML. Что он собой представляет? Набор тегов, описывающих внешний вид и (отчасти) структуру представления данных, которые будут отображаться в Web-обозревателе. HTML, как вы помните, язык описания данных.

JavaScript же – язык описания алгоритмов обработки этих самых данных. Поэтому он содержит набор инструкций, предписывающих выполнение тех или иных действий над данными. Чтобы облегчить работу программиста, способ написания этих инструкций максимально приближен к обычной математической нотации, слегка "разбавленной" словами обычного английского языка. (Вот еще один повод взяться за английский.)

Такие инструкции, описывающие действия над данными, называются выражениями. Выражения состоят из операторов и операндов; операторы описывают сами действия, а операнды – данные, над которыми будут производиться эти действия. Причем, операндами могут быть как константы (числа, строки, даты, одним словом, неизменяемые значения), так и переменные (специально отведенные ячейки для хранения промежуточных результатов вычислений).

Давайте рассмотрим одно из таких выражений:

b = z / t;

Это выражение делит значение переменной z на значение переменной t и результат помещает в переменную b. Как вы уже поняли, знак " / " обозначает оператор деления, а знак " = " – оператор присваивания значения какой-либо переменной. Знак "; ", помещенный в конце выражения, обозначает, собственно, его конец; встретив этот знак, интерпретатор JavaScript считает выражение законченным.

Вот еще два выражения:

sum = a1 + a2 + a3 - 20;

square = x * y;

Первое выражение складывает друг с другом значения переменных a1, a2 и а3, после чего вычитает из результата 20 и помещает его в переменную sum.

Второе выражение перемножает значения переменных x и у и помещает результат в переменную square.

Чтобы управлять порядком вычисления выражения, вы можете использовать скобки:

s = (a + b) / (c - d);

В этом выражении сначала будет вычислена сумма а и b, потом – разность с и а, после чего сумма будет поделена на разность. Если бы мы не использовали скобки, то выражение имело бы вид:

s = a + b / c - d;

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

В JavaScript можно написать и так:

a = a + 1;

…и это выражение будет правильным. Оно предписывает интерпретатору извлечь значение из переменной а, увеличить его на единицу и поместить в ту же переменную. Это выражение можно записать и короче:

a += 1;

Кстати, любая переменная перед тем, как будет использована, должна быть объявлена. Объявление переменных выполняется с помощью специального оператора объявления var:

var a1, a2, a3, x, y

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

Говорилось, что переменные могут содержать какие угодно данные. В самом деле, посмотрите сюда:

a = 10;

s = "Строка символов";

Здесь первой переменной присваивается числовое значение, а второй – строка (строковое значение). (Вообще, Web-сценарии, как правило, чаще обрабатывают текст, а не числа, так что в этом нет ничего необычного.)

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

var arr;

arr[0] = 1;

arr[1] = 2;

arr[5] = arr[0] + arr[1];

Как видите, индекс элемента массива указывается после его имени в квадратных скобках; этим массив и отличается от обычной переменной (скаляра). Сам массив объявляется точно так же, как обычная переменная, и со значениями его элементов можно делать то же самое, что и со значениями обычных переменных. Заметьте, что специально объявлять его как массив не нужно – как только вы при обращении к переменной укажете индекс элемента, интерпретатор JavaScript тут же преобразует переменную в массив.

Для примера был создан одномерный массив. Но бывают и массивы двумерные:

var arr2;

arr2[0][0] = 0;

arr2[0][1] = 1;

arr2[1][0] = 2;

arr2[1][1] = 3;

Ключевыми словами называются специально зарезервированные слова, обозначающие некоторые операторы языка программирования. Так, условный оператор if-else состоит из двух ключевых слов. Он позволяет выполнить какое-либо выражение только в том случае, если становится верным какое-либо условие. Если условие верно, выполняется выражение, стоящее после ключевого слова if, а если неверно, – стоящее после ключевого слова else. Говорят, что оператор if-else организует ветвление.

Ниже приведен пример использования этого оператора.

if (x == 1)

f = 2

else

f = 12;

Здесь, если значение переменной х равно единице, переменной f присваивается 2, в противном случае – 12.

Если в какой-либо из частей оператора if-else нужно выполнить несколько выражений, используется так называемое составное выражение.

if (x == 1) {

f = 2;

h = 3;

} else {

f = 12;

h = 14;

}

Как видите, составное выражение состоит из нескольких простых выражений, помещенных внутрь фигурных скобок. Интерпретатор JavaScript считает их одним выражением.

Существует также "урезанная" форма оператора if-eise, без части else. В этом случае, если условие неверно, никакого кода не выполняется.

if (x == 1) {

f = 2;

h = 3;

}

Существует также оператор-переключатель switch-case. Этот оператор заменяет множество операторов if-eise.

switch (a) {

case 1:

out = "Единица";

break;

case 2:

out = "Двойка";

break;

case 3:

out = "Тройка";

break;

default:

out = "Другоечисло";

}

Если значение переменной а равно 1, переменной out будет присвоено значение Единица (часть case 1). Если значение переменной а равно 2, то переменная out получит значение двойка (часть case 2), и т. д. Если же переменная а содержит значение, не перечисленное в списке case, выполняется часть default, и out принимает значение другое число.

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

Язык JavaScript

Оператор цикла for позволит вам выполнить какое-либо выражение (простое или составное) нужное количество раз, т. е. организовать цикл со счетчиком. При этом на каждом проходе цикла содержимое переменной-счетчика будет сравниваться с конечным значением, и если оно его превышает, цикл немедленно завершается. В противном случае содержимое счетчика увеличивается или уменьшается на единицу, и выполняется новый проход цикла.

Рассмотрим применение оператора for на примере.

for (i = 1; i < 101; i++) {

a = a * i;

b = b + i;

}

Первая строка сообщает интерпретатору JavaScript следующее:

· переменная i будет использоваться в качестве счетчика цикла, т. е. в ней будет находиться значение количества уже выполненных проходов цикла;

· начальное значение счетчика – 1 (i =1);

· конечное значение счетчика – 100, т. е. повторять цикл нужно, пока содержимое счетчика i остается меньше 101 (i < 101);

· при каждом проходе цикла нужно будет увеличивать значение счетчика на единицу (i++; оператор ++ указывает увеличить значение какой-либо переменной на единицу, другими словами, инкрементировать, и поместить его в ту же переменную). (Оператор ++ называется оператором инкремента.)

В результате выполнения приведенного выше выражения в переменной а будет находиться факториал от 100, а в переменной b – сумма от 1 до 100.

Кроме цикла со счетчиком, в JavaScript можно организовать и циклы без счетчика, так называемые циклы с условием. Они выполняются до тех пор, пока остается истинным какое-либо условие. Это циклы do-while и while.

Сначала рассмотрим цикл do-while.

do {

a = a * i + 2;

i = ++i;

} while (a < 100);

Этот цикл будет выполняться, пока значение переменной а остается меньше 100. Заметьте, что условие проверяется после прохода цикла, поэтому этот цикл выполнится хотя бы один раз, даже если условие будет изначально ложно.

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

while (a < 100) {

a = a * i + 2;

i = ++i;

}

Оператор завершения break немедленно завершает цикл, а оператор продолжения continue – продолжает цикл, т. е. прекращает выполнение текущего прохода и начинает выполнение следующего (конечно, если условие завершения цикла это допускает).

while (a < 100) {

i = ++i;

if (i > 50) break;

if (i < 5) continue;

a = a * i + 2;

}

Попробуйте сами разобраться, как работает вышеприведенный пример.

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

Давайте рассмотрим небольшой пример функции, увеличивающей переданное ей значение на два и возвращающей результат.

function valuePlus2(v) {

var c;

c = v + 2;

return c;

}

Автор назвал нашу функцию valuePlus2 и передал ей единственный параметр v (см. в скобках после имени функции). Код, находящийся внутри функции, сначала объявляет локальную переменную с, "видимую" только внутри этой функции (вызвавшая функцию программа не сможет к ней обратиться). Далее этой переменной присваивается сумма значения переданного параметра v и 2. Последний оператор возвращает результат вызвавшей функцию программе (return – оператор возврата значения).

Как можно использовать полученную функцию? Например, так:

h = d + valuePlus2(r);

Здесь мы передаем функции vaiuePlus2 значение г и используем возвращенный результат в выражении. В частности, мы складываем его сам присваиваем результат п.

Кстати, нашу функцию можно было написать значительно короче и оптимальнее. (Да, и здесь оптимизация!)

function valuePlus2(v) {

return v + 2;

}

Опытные программисты так и пишут. Во-первых, код становится проще и "прозрачнее". Во-вторых, что еще важнее, код становится меньше и быстрее.

Функция может и не принимать параметров:

function someFunc1() {

return 2 + 2;

}

Функции могут вызывать друг друга:

function valuePlus3(v) {

return valuePlus2(v) + 1;

}

На этом краткий курс основ языка JavaScript подошел к концу. Нам осталось рассмотреть только объекты.

Объекты

Выше были рассмотрены два вида переменных: обычные переменные, иначе говоря, скаляры и массивы. Скаляры могут содержать только одно значение, массивы же – множество пронумерованных значений, доступ к которым можно получить по их номеру – индексу. И скаляры, и массивы находят свое применение в программах на JavaScript; нет смысла рассказывать, в каких случаях что применять, – это и так очевидно. Давайте лучше поговорим еще об одном виде переменных, которого мы до сих пор не касались.

Это объекты.

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

В качестве примера объекта можно рассмотреть прекрасно знакомый вам Web-обозреватель. У него есть свойство "адрес" и метод "открыть Web-страницу, которой принадлежит этот адрес". Вы можете присвоить этом свойству нужный адрес, а также можете его оттуда считать и присвоить какой-либо переменной или использовать иным способом:

currentWebBrowser.address = "http://www.w3c.org";

currAddr = currentWebBrowser.address + "/css/";

Именно такой синтаксис используется для доступа к свойствам: <имя объеках <имя свойства> (не забудьте поставить знак точки). В первом случае мы поместили в свойство address объекта currentWebBrowser строку с интернет-адресом комитета WWWC. Во втором случае мы извлекли из этого свойства находящийся в нем адрес, прибавили к нему справа текст "/сss/" и присвоили переменной currAddr. (Как видите, для слияния (или конкатенации) строк использовался оператор +.)

Для вызова метода используется аналогичный синтаксис: <имя объекта>. <имя метода> (). Сейчас мы вызовем метод до вышеупомянутого объекта:

currentWebBrowser.go();

Метод до – не что иное, как обычная функция. В данный момент возвращенное ей значение игнорируется, но в других случаях оно может использоваться. Также метод, как и любая функция, может принимать параметры:

currentWebBrowser.goTo("http://www.w3c.org");

Таким образом мы можем управлять Web-обозревателем. И – заметьте – ничего не зная о его внутреннем устройстве. Более того, мы не обязаны о нем знать. Использование объектов как раз и направлено на то, чтобы позволить программистам пользоваться различными инструментами и дополнительными компонентами, не зная их внутреннего устройства, а также создавать такие инструменты и компоненты для своих коллег.

Говорят, что JavaScript – объектно-ориентированный язык программирования, т. к. использует объекты. Этим он отличается от обычных, процедурных языков, которые используют только функции.

Каждый объект перед тем, как с ним можно будет работать, должен быть создан. Выполняется это с помощью оператора создания объекта new.

var currentWebBrowser;

currentWebBrowser = new WebBrowser();

Здесь объявляется переменная currentWebBrowser и ей присваивается вновь созданный с помощью оператора new объект. Этот объект создан на основе класса WebBrowser, который является как бы шаблоном для создаваемых объектов. А currentWebBrowser также иногда называется экземпляром класса WebBrowser.

Удалить ненужный объект можно с помощью метода delete.

currentWebBrowser.delete();

Имейте в виду, что ненужные объекты, созданные вами, всегда надо удалять, чтобы освободить ресурсы системы. Исключение составляют только системные объекты, создаваемые самим интерпретатором или предоставляемые интерпретатору Web-обозревателем. Если вы попытаетесь удалить системный объект, интерпретатор выдаст сообщение об ошибке. О системных объектах мы поговорим ниже.

Но каким же образом создаются классы объектов? Исключительно просто. Более того, если бы остальные языки объектно-ориентированного программирования увидели, как легко создаются классы в JavaScript, они бы умерли от зависти. Взглянем еще раз на выражение, с помощью которого создаются объекты:

currentWebBrowser = new WebBrowser();

Согласитесь, это сильно напоминает вызов функции. Но дело в том, что WebBrowser – и есть функция, только специальным образом написанная. Она называется конструктором класса. Давайте напишем конструктор для класса WebBrowser.

function WebBrowser() {

this.address = "http://www.server.ru/my_home_page.htm";

}

Объекты

Этот код создает в классе WebBrowser одно-единственное свойство address. Обратите внимание на синтаксис, с помощью которого это делается. В качестве имени класса используется ключевое слово this, обозначающее текущий класс. Интерпретатор JavaScript создает свойства класса сразу же при первом обращении к ним; вот и в нашем случае он создал свойство address и дал ему значение, присвоенное нами. Конструктор может принимать параметры:

function WebBrowser(homePage) {

this.address = homePage;

}

Таким образом мы можем передать конструктору класса адрес домашней страницы, с которой начнется путешествие по Интернету.

var currentWebBrowser;

currentWebBrowser = new WebBrowser("http://www.server.ru/home_page.htm");

"Но, позвольте! – скажете вы. – А как же создаются методы класса?" Тоже очень просто.

Прежде всего, нам нужно написать функцию, реализующую этот метод.

function fGoTo(pageAddress) {

this.address = pageAddress;

}

Мы назвали эту функцию fGoTo. Это имя состоит из буквы f (от англ. function – функция) и имени метода goTo, который она реализует.

Теперь перепишем функцию-конструктор таким образом, чтобы создать новый метод goTo.

function WebBrowser(homePage) {

this.address = homePage;

this.goTo = fGoTo;

}

Как видите, мы "присваиваем" написанную нами функцию fGoTo свойству goTo класса WebBrowser. После этого можно вызывать метод goTo этого класса.

var currentWebBrowser;

currentWebBrowser = new WebBrowser("http://www.server.ru/home_jpage.htm");

currentWebBrowser.goTo("http://www.w3c.org");

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

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

var d;

d = new Date();

Только что мы создали объект класса Date. Так как мы не передали параметр в функцию конструктора этого класса, интерпретатор поместил в этот объект значение текущей даты. После этого можно, например, узнать номер дня недели:

var dayNumber;

dayNumber = d.getDay();

Или выяснить год:

var year;

year = d.getFullYear();

Некоторые методы класса Date перечислены в табл. 13.1.

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

Объекты

Таблица 13.1. Некоторые методы класса Date.

Метод Описание
getDate () Возвращает число
getDay () Возвращает цифру, обозначающую день недели (0 – воскресенье, 1 – понедельник, 2 – вторник и т. д.)
getFullYear() Возвращает год
getHours () Возвращает час
getMilliseconds () Возвращает миллисекунды
getMinutes () Возвращает минуты
getMonth () Возвращает цифру, обозначающую месяц (от 0 до 11)
getSeconds () Возвращает секунды
getTime () Возвращает время в виде количества миллисекунд, прошедших с полуночи 1 января 1 970 года

Системный класс Math – другого рода. Он включает набор свойств и методов, реализующих различные математические и тригонометрические функции. Единственный его объект создается самим интерпретатором JavaScript при запуске и уничтожается при завершении работы. Так что вам не нужно самим создавать объекты этого класса. Это как раз типичный случай системного объекта.

var f;

f = Math.sin(Math.PI);

В результате вычисления вышеприведенного выражения в переменной f окажется значение sin (я).

Существуют также системные классы Number и string, служащие для хранения данных соответственно числового и строкового форматов, и несколько других системных классов, используемых значительно реже.

Язык JavaScript имеет одну любопытную особенность. Дело в том, что любая переменная обычного типа данных может быть представлена как объект какого-либо класса. Давайте, например, рассмотрим следующий код:

var s, l;

s = "JavaScript";

l = s.length;

Здесь мы сначала помещаем в переменную s строку "JavaScript", а потом вызываем свойство length этой переменной. В таком случае интерпретатор считает переменную s объектом класса string и беспрепятственно "пускает" нас к свойству length этого класса, возвращающему длину строки текста, которую мы и помещаем в переменную 1.

Аналогичный "финт" можно проделать и с числовой величиной:

var a, s;

a = 16765247;

s = a.toString();

Здесь вызываем метод toString класса Number, возвращающий строковое представление числа.

Раньше говорилось, что, помимо интерпретатора JavaScript, системные классы могут представляться также и другими программами. К числу этих самых "других" программ относится Web-обозреватель. Его классы и системные объекты – это что-то особенное…


Поделиться с друзьями:

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

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

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.107 с.