Utisci korisnika

Želeo bih da Vam se zahvalim na Vašoj brzoj pošiljci, sertifikatu i novom kursu, koji sam juče preuzeo putem Post-expresa. Još jedanput Vam se zahvaljujem na Vašoj profesionalnosti.…

Veoma sam zahvalna na Vašem brzom odgovoru i želela bih da Vam se zahvalim na pažnji koju ste pokazali. Radica Nedelčev - Beograd


Kompletna lista utisaka

Testiranje online

Arhitektura računara

Za one koji žele da znaju više.

Windows OS

Ovo bi svakako trebalo da probate.

Odnosi s javnošću

Koliko znate PR?

Pogledajte još neke od testova

Newsletter

Ukoliko želite da Vas redovno obaveštavamo o novostima sa Link eLearning sajta prijavite se na našu newsletter listu.

Ime:

Prezime:

Email:


Anketa

Arhiva anketa

BAZA ZNANJA


Kurs: - Core JavaScript Programming

Modul: Uvod u JavaScript

Autor: Vladimir Marić

Naziv jedinice: Implementacija u izlazno okruženje


Materijali vezani uz ovu lekciju:

- Test implementacija u izlazno okruženje
- Implementacija u izlazno okruženje (PDF dokument)



Svi skript jezici, koji se tiču izgradnje i manipulacije web stranama, obično se ugrađuju u sam HTML kod, pri čemu ni JavaScript nije izuzetak. Ipak, prilikom implementacije JavaScript-a u stranu, treba imati na umu neke osobenosti same strane, odnosno, njenog emitovanja.

Prvi iščitani Tag na HTML web strani je Head Tag. To znači da sve što želimo da bude deklarisano pre upotrebe, treba da smestimo u taj Tag. U slučaju JavaScript-a to će biti kompletna funkcionalnost i promenljive koje ćemo eventualno pozivati tokom izvršavanja strane. Dok ćemo JavaScript kod, za koji želimo da bude izvršavan u toku učitavanja strane, staviti u okvire Body Tag-a.

Da bismo implementirali JavaScript u stranu, potrebno je da naglasimo početak i kraj skripte uvođenjem tagova:
<script> </script>

Ovako deklarisan JavaScript Tag funkcionisaće u najvećem broju slučajeva zato što je podrazumevani skript jezik svih pretraživača baš JavaScript (JScript). Ovo podrazumevano podešavanje možemo "pregaziti" na samoj strani, kroz poseban Tag u zaglavlju strane
<META http-equiv="Content-Script-Type" content="text/javascript">

ili u samoj inicijalizaciji skripte
<script type="text/javascript" > </script>
pri čemu je poslednja opcija ujedno i ona koja se najčešće koristi.

JavaScript kod možemo Script Tag-ovima inicijalizovati koliko god želimo puta na strani.

Na primer:
<head>
<script type="text/javascript" >
document.write(“head deo ”);
</script>
</head>
<body>
<h1>neki naslov</h1>
<script type="text/javascript" >
document.write(“body deo 1”);
</script>
<p>neki tekst</p>
<script type="text/javascript" >
document.write(“body deo 1”);
</script>
<p>nastavak teksta</p>
</body>

Ovaj kod će biti pročitan sekvencijalno i rezultat na strani će biti:

Head deo neki naslov Body deo 1 neki tekst Body deo 1 nastavak teksta


Eksterni JavaScript dokumenti

Ponekad je funkcionalnost skripte velika, kompaktna i dovoljno inkapsulirana da je povoljnije zadržati je van samog HTML dokumenta. U ovom slučaju, skripte se čuvaju eksterno i po potrebi učitavaju u dokument. Na primer, ukoliko imamo skriptu koja sadrži neku opštu funkciju, nije neophodno da ona postoji na svakoj strani, već možemo na početku svake strane koja zahteva tu skriptu, da učitamo eksterni fajl koji je sadrži.
<script language="javascript" src=”skripta.js”> </script>

Kada se skripta na ovaj način jednom učita, sve promenljive na strani postaju dostupne eksternoj skripti i obratno - sve promenljive eksterne skripte, dostupne su na strani. Zbog toga, treba biti pažljiv sa imenovanjem JavaScript elemenata kada se rukuje sa eksternim skriptama.

Pored toga, rukovanje JavaScript skriptama u eksternim fajlovima usporava sistem jer klijent mora da zatraži još jedan fajl sa servera pa ga zbog toga treba izbegavati na sistemima sa sporijim protokom.

Sami eksterni JavaScript fajlovi, po konvenciji, imenuju se sa ekstenzijom .js, ali ovo nije neophodno da bi skripta stvarno i funkcionisala, već je moguće imenovati eksterni fajl sa bilo kojom ekstenzijom, sve dok je ime fajla pravilno upisano u src atribut inicijalizacije skripte.
Sadržaj eksternog .js fajla ne treba da ima inicijalizaciju (Tag-ove za početak i kraj) skripte, već jednostavno - samu skriptu.

Postoje slučajevi (veoma retki) kada na serveru nije uključena opcija učitavanja eksternih skript fajlova. Ukoliko nemate pristup podešavanjima samog servera (što je redak slučaj), ovo je moguće prevazići kreiranjem fajla .htaccess (kada je Apache server u pitanju) u folderu u kome se nalazi strana koja poziva skriptu i u njega staviti sledeću liniju:

AddType application/x-javascript .js

Eksterne skripte nije obavezno držati na lokalnom fajl sistemu, već je moguće preuzeti ih i sa udaljene adrese, u toku samog izvršavanja.

Recimo da hoćemo da napravimo jedan baner koji se nalazi na našem web serveru i koji je u formi Slide Show-a. Možemo da napravimo Timer Script-u i postavimo je na našem serveru. Tu skriptu će konzumenti banera moći da implementiraju na svoju stranu i imaće kompletnu funkcionalnost naše skripte (koja će ukoliko je menjamo, biti automatski ažurirana na stranama njenih korisnika).

Dobar primer ovog sistema je Google AdSense:
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

JavaScript i pretraživači

Prilikom kreiranja JavaScript skripte treba obratiti pažnju na to da se određeni pretraživači u nekim trenucima razlikuju u kontekstu interpretacije skripti kao i ostalih HTML elemenata strane. Ovo ponekad može da predstavlja problem jer može doći do različite prezentacije sadržaja u različitim pretraživačima.

Ovaj problem je potrebno preduprediti uslovnim izvršavanjem određene grane koda koja odgovara određenom pretraživaču.

Npr. svojstvo navigator.appName sadrži naziv trenutno aktivnog pretraživača pa na osnovu toga možemo da, kroz kontrolu toka, odlučimo koji ćemo sadržaj aktivirati u odnosu na trenutno aktivni pretraživač.

Postoji mogućnost (mada je ova mogućnost sve ređa) da pretraživač ne prepozna skriptu. U tu svrhu, pedantno napisane skripte, obično sadrže i Tag za komentarisanje unutar same skripte. Ovim se, ukoliko pretraživač nije prepoznao skriptu, cela skripta pretvara u komentar, dok bi u suprotnom, sadržaj skripte bio emitovan na samoj strani (naravno, bez izvršavanja).
<script type="text/javascript"><!--
document.write("radi skripta");
//-->
</script>

Aktivacija skripte može takođe da bude neuspešna ukoliko korisnik u klijentskoj aplikaciji isključi korišćenje klijentskih skripti. U tom slučaju, ukoliko smo se, u izgradnji strane oslonili na neku logiku u samoj skripti, strana možda neće biti prikazana kako treba.

Naravno, skript jezici nisu zamena za HTML jezike, već njihova ekstenzija i ukoliko smo posegli za skriptom da bismo dobili neki rezultat, verovatno smo to uradili zato što taj rezultat nije ostvariv u samom HTML-u. Stoga i ne postoji racionalno rešenje kojim ćemo u potpunosti kompenzovati nedostatak skript jezika u pretraživaču, već radije možemo upozoriti korisnika da uključi JavaScript da bi mu strana bila adekvatno prezentovana.

Najbolji način da se ovo uradi je uvođenje Noscript Tag-a na stranu. U ovaj Noscript Tag, smešta se HTML kod, koji će biti izvršen ukoliko ne bude izvršen sadržaj skript Tag-a:
<script type="text/javascript">
document.write("JavaScript radi")
</script>
<noscript>JavaScript ne radi</noscript>

Najvažnije iz lekcije

  1. JavaScript se implementira u HTML script Tag-ovima
  2. Da bi JavaScript bio validno implementiran, potrebno je da Tag-ovima naglasimo početak i kraj rada skripte.
  3. Na HTML strani prvo se dekodira Head pa Body deo. Zato u Head stavljamo funkcionalnost, a u Body kontrolišemo tok.
  4. JavaScript ponekad nije uključen pa je potrebno obraditi takav slučaj.
  5. Stariji pretraživači ne prepoznaju skript tagove pa je potrebno obezbediti se od ispisivanja skripte na ekran HTML komentarima unutar skripte.

Smatrate da je ova lekcija korisna?  Preporučite je. Broj preporuka:1


Molimo Vas unesite svoje podatke i dobićete pristup besplatnim lekcijama.

Ime: 
Prezime: 
Email: