Програмиране в Интернет - теория - 6/10

Програмиране в Интернет - теория - 6/10

8) ОБЕКТИ. ОБЕКТИТЕ NAVIGATOR И DOCUMENT

1. Какво е обект.
Обектът е начин на моделиране на нещо реално, въпреки че самият обект е абстрактна величина. Когато мислим за един обект, ние си представяме нещо общо, без да се интересуваме от конкретният му вид – напр. кола. Колата е част от обекта МПС, който включва коли, микробуси, камионе и др., а напр. Мерцедес е част от обекта кола. Така може да се изгради определена йерархия.
Но колите притежават и други характеристики, които наричаме свойства – цвят, големина, брой врати и т. н. На свойствата може да се дават стойности., според типа. Достъпът до свойствата на един обект се извършва посредством оператора точка ”.” (обект.свойство=стойност).
Методите представляват функции, които извършват различни операции със свойствата на обектите. Всеки метод е част от даден обект. Достъпът до метод на даден обект се извършва чрез точка. (обект.метод).
Има предварително зададени обекти в JavaScript, а има и възможност за създаване на собствени обекти. Но ние ще се занимаем с предварително дефинираните JavaScript обекти.
2. Обектът navigator.
Той дава достъп до различни характеристики на потребителския браузър, като име, номер на версията и др. Но свойствата на този обект не могат да бъдат променяни, те са зададени в режим само за четене. Могат да бъдат полезни, когато е необходимо потребителят да бъде пренасочен според характеристиките на неговия браузър.
а) свойства;
- appName – Това свойство съдържа типа на браузъра, който използва потребителят.
Напр. window.alert(“Вие използвате “+navigator.appName);
- appVersion – Номер на версията на браузъра и друга допълнителна информация.
- language – Съдържа низ от два знака, представящ език, на който е преведен браузъра или низ от пет знака, представящ и подезик.
- userAgent – Съдържа по-дълъг низ с по-изчерпателна информация за браузъра.
б) методи.
- javaEnabled() – Връща стойност true, ако потребителят е разрешил Java в браузъра си и стойност false в противен случай. Може да е полезен, ако искаме да покажем Java аплет, което е възможно само ако потребителят е разрешил Java в браузъра.

Пример:
var rr=navigator.javaEnabled()
if (rr==true)
   window.alert(“Вие имате Java!”);
else
   window.alert(“Вие нямате Java! Не можете да видите Java аплета!”);

- plugins.refresh() – за опресняване на наличните в браузъра Plug-In модули.
3. Обектът document.
а) същност;
Това е обект, който се създава от браузъра за всяка нова разглеждана HTML страница.
б) свойства;
- alinkColor – съдържа шестнайсетичната стойност или името на цвета на активна хипервръзка в HTML документ. Поставя се в HEAD частта и не може да се променя.

Пример:
<HEAD>
<SCRIPT language="JavaScript">
<!--
document.alinkColor=”#FF0000”;
//-->
</SCRIPT>
</HEAD>

- linkColor – съдържа стойността на цвета на непосетените хипервръзки на web страницата. Работи подобно на alinkColor.
- vlinkColor – съдържа стойността на цвета на посетените хипервръзки на web страницата. Работи подобно на alinkColor.
- bgColor – съдържа стойността на цвета на фона на web страницата
- fgColor – съдържа стойността на цвета на текста в уеб страницата.
- images – свойството е масив, който съдържа по един елемент за всяко изображение в web страницата. С помощта на свойството document.images.length може да се разбере колко изображения има в една страница.
- lastModified – съдържа датата и часа на последната промяна на документа. Но различните браузъри може да изведат различни резултати.

Пример:
<BODY BGCOLOR="#0aaaFA">
<SCRIPT language="JavaScript">
<!--
document.write ("<P ALIGN=RIGHT> Последна промяна: " + document.lastModified+"</P>");
//-->
</SCRIPT>
</BODY>

- links – свойството е масив, който съхранява стойност за всяка връзка или свързана област от карта-изображение от страницата. С помощта на свойството document.links.length може да се разбере колко връзки има в една страница.
- referrer – съхранява URL адреса на страницата, в която се е намирал потребителят, преди да дойде на текущата страница. Понякога е възможно стойността да е 0 или да бъде неправилна, защото различните браузъри могат да приемат различни типове за това свойство.
- title – съхранява заглавието на HTML документа.

Пример:
<HTML>
<HEAD>
<TITLE> Белите мечки </TITLE>
</HEAD>
<BODY BGCOLOR="#0aaaFA">
<SCRIPT language="JavaScript">
<!--
document.write ("<H1>"+document.title+"</H1>");
//-->
</SCRIPT>
В тази страница ще прочетете много интересни факти за белите мечки.
</BODY>
</HTML>

- url – съхранява стойността на пълния URL адрес на текущия документ. Напр. може да се зададе URL адреса в края на web страницата и така при отпечатване адресът ще се появява. Макар, че това може да се извърши ръчно, при много страници е удобно да се използва именно това свойство.

Пример:
<HTML>
<HEAD>
<TITLE> Уроци </TITLE>
</HEAD>
<BODY BGCOLOR="#0aaaFA">
<H1> Урок №1 </H1>
............
<P>
<SCRIPT language="JavaScript">
<!--
document.write ("Източник: "+document.URL);
//-->
</P>
</SCRIPT>
</BODY>
</HTML>

в) методи.
- open() – Методът дава възможност да се отвори нов документ и да се създаде съдържанието му изцяло чрез document.write() конструкции. Когато се извика методът, браузърът търси тези конструкции, за да може да пише в новата страница.
- close() – използва се за завършване на страницата, отворена с метода open().
- write() – Метъдът се използва за извеждане на стрингова стойност в страницата.
- writeln() – Методът действа по същия начин, както write(), но добавя JavaScript знак за нов ред в края на конструкцията
Посочените методи ще илюстрираме с пример, при който се създава нова страница въз основа на въведеното име на потребителя.

Пример:
<HTML>
<HEAD>
<TITLE> Потребителска страница </TITLE>
<SCRIPT language="JavaScript">
<!--
function newpage ()
{
var thename=document.myform.yourname.value;
if ((thename=="") || (thename==null))
window.alert("Не сте написали името си!");
document.open();
document.write("<H1>Здравейте, "+thename+"!</H1>");
document.write("Добре дошли на "+document.URL);
document.close();
}
//-->
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#0AAAFA">
<B>Моля въведете Вашето име за персонализиране на страницата!</B>
<FORM name="myform">
<P>Име: <INPUT type="text" name="yourname" size="25"></P>
<P><INPUT type="button" value="click" onClick="newpage()"></P>
</FORM>
</BODY>
</HTML>

<< Предходна Следваща >>