C, PHP, VB, .NET

Дневникът на Филип Петров


* Въведение в JavaScript

Публикувано на 02 септември 2009 в раздел ХHTML.

JavaScript e скриптов език за програмиране, който се използва активно в HTML страници. Поддържа се от всички популярни браузъри. Първото и основно нещо, което трябва да знаете е, че кодът се изпълнява при браузъра на клиента, който отваря страницата. Това е фундаментална разлика с повечето езици за web програмиране като PHP, ASP.Net, Java и др. Това има както своите предимства (не употребява процесорно време на сървъра), така и недостатъци (от гледна точка на сигурността). Не бъркайте Java с JavaScript – това са две фундаментално различни неща и нямат нищо общо помежду си!

Синтаксисът за програмиране на JavaScript е доста опростен. Скриптовете се изпълняват без нужда да бъдат прекомпилирани. Обикновено скриптовете се пишат директно вътре в HTML кода. Предимствата, които дизайнерите получават с JavaScript са много:

  • Програмен език за осъществяване на логически операции;
  • Въвеждане на динамични обекти;
  • Въвеждане на понятието „събитие“ и обработка на информация спрямо него (например натиснат бутон на мишката, въведен текст от клавиатурата и т.н.);
  • Обработка на информация въведена от потребител.

Нека преминем към първият пример:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="bg">
	<head>
		<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
		<title>JavaScript</title>
	</head>
	<body>
		<script type="text/javascript">
			document.write("<h1>Първи скрипт!</h1>");
		</script>
	</body>
</html>

Виждате, че въвеждаме нов таг <script>. Като негов атрибут подаваме параметър type (тип) със стойност „text/javascript“. Така записан този таг указва на браузъра, че кодът записан вътре в тага трябва да бъде интерпретиран не като HTML, а като JavaScript.

Вътре в тялото на тага сме записали само един ред. Функцията (командата) „document.write()“ се използва за извеждане на текст на екрана на браузъра. В случая като параметър на тази функция сме подали HTML код, който искаме да бъде визуализиран.

JavaScript може да бъде добавян както в тялото (body) на HTML документ, така и в заглавната част (head). По принцип скриптовете, които дефинираме в <head> не са предназначени за визуализиране на информация. Обикновено ги използваме за предефиниране на функции, които ще използваме в последствие в <body>.

Възможно е да се добави скрипт от външен файл. За това се използва атрибут „src“ на таг <script>. Ето как можем да реализираме горния пример:

Файл script.js:

document.write("<h1>Първи скрипт!</h1>");

HTML файл:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="bg">
	<head>
		<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
		<title>JavaScript</title>
	</head>
	<body>
		<script type="text/javascript" src="script.js"></script>
	</body>
</html>

По този начин можем да използваме един и същи скрипт в много документи. Важно е да се отбележи, че HTML файла и .js файла трябва да бъдат в една и съща кодировка! В случая от примера това е UTF-8. Ако кодировките са различни, то резултатът най-вероятно няма да е желан. В следващи статии ще разгледаме подробно функционалностите и възможностите на JavaScript.

 



3 коментара


  1. Това, което искаш да направиш никак няма да е лесно. Може относително лесно да се направи с обикновен „popup“, но там прозорецът ще е с дизайна на браузера (както и някои задължителни негови контроли).

    Виж тук:
    http://www.quirksmode.org/js/popup.html

  2. Илхан каза:

    Искам да Ви попитам значи искам като кликна бутон/(или линк) да излиза прозорче, в което да има псисък от бутони които да правят нещо си.
    Въпросът ми е да е нещо като alert box,но в alert pop up май не може освен текст да се добавя други бутони и т.н (може и да греша), и друго може ли прозорчето да не е стандартното на windows(което излиза при алерт бокс примерно),а някакво от мен избран цвят на рамката и т.н.
    Ако може само да кажете какво може какво не може,някакви насоки, ако не сте разбрали точно какво искам съшо кажете :)
    Благодаря предварително!

  3. Илхан каза:

    Прочетох линка , търсих още в гоогле, намерих някакви cool pop ups, направих това, което ми трябваше(няма тука да копирам кода да ви занимавам) , исках да благодаря за бързия отговор:)

Добави коментар

Адресът на електронната поща няма да се публикува


*