Bara smá skeið
af JavaScript...
Þetta er ekkert vont ...
Það gæti linað þjáningar þínar...
En passaðu þig! Ekki gleypa það hrátt!
Eftir þessa lexíu átt þú að kunna að:
JavaScript gerir þér, hönnuðinum, fært að auka notagildi og möguleika vefsíða þinna. Því miður er nákvæmt námskeið í JavaScript ekki hlutverk þessara lexía (en við mælum með nokkrum slíkum í tilvísunum), en við ætlum rétt að gefa þér smá smakk af hvað JavaScript getur gert.
Þú verður að gera þér grein fyrir þeim gríðarlega mun sem er á forritunarmálinu Java, og forskriftarmálinu JavaScript. Fólk notar þetta of oft jöfnum höndum. Java var búið til af Sun Microsystems sem forritunarmál óháð tölvutegundum sem nota skyldi til að búa til stutt notkunarforrit (e. application) eða stef (e. applets) sem gætu verið hluti af vefsíðu eða sjálfstæð forrit.. Java stef eru eins og lítil sjálfstæð forrit sem maður getur notað án þess að sjá eða skipta sér af því hvernig þau eru skrifuð (við ætlum að sýna þér seinna hvernig hægt er að finna og nota Java stef).
Gallin við Java er að til þess að maður geti búið til sín eigin stef, þá verður maður að læra frekar flókið forritunarmál eða reyna að nota einhver nýrri forrit sem gera kóðunina einfaldari. Annar galli er að Java stef eru oft mjög lengi að hlaðast inn og fara í gang og um leið stöðva þeir vinnslu vefskoðarans þar til allt er tilbúið (okkar tilfinning er sú, að bið eftir rennitexta sé ekki langt frá <blink> skipuninni á pirruskalanum!).
JavaScript, sem upprunalega hét LiveScript, var búið til af Netscape sem nokkuð allt annað. Það var endurnefnt vegna þess hve því svipar til Java í uppbyggingu. Til að búa til JavaScript eru skipanir þess einfaldlega ritaðir með HTML kóðanum og vefskoðarinn framkvæmir skipanirnar á meðan hann setur upp síðuna.
Þú hefur vonandi tekið eftir að um leið og vefskoðari les HTML kóðann fyrir síðu, þá byrjar hann að setja síðuna saman og sýna hana ofanfrá og niður, þannig að síða getur birst að hluta á meðan vefskoðarinn er enn að sækja síðustu hluta hennar og lesa úr þeim. Um leið og vefskoðarinn les HTML kóðann, þá framkvæmir hann það sem fyrir er lagt án þess að spyrja spurninga.
Þegar vefskoðari finnur JavaScript, þá fer hann að þýða hann línu fyrir línu. En JavaScript kóðinn getur sagt vefskoðaranum að gera mismunandi hluti við muismunandi aðstæður, eða sett upp aðgerðir sem eru ekki framkvæmdar fyrr en notandinn gerir eitthvað á síðunni. JavaScript getur jafnvel útbúið HTML kóða þar sem hans er þörf, þannig að maður getur látið það prenta mismunandi HTML skilaboð eftir því hvaða dagur er eða breyta bakgrunninum af handahófi í hvert sinn sem maður opnar síðu.
Hugsaðu þess vegna um JavaScript sem aðferð til að gefa vefnum þínum meira vit. Það er ekki eins erfitt að læra JavaScript og hrein forritunarmál, en það er samt skref í áttina að flóknari forritun að nota það með venjulegu HTML uppsetningunni.
Í þessari lexíu ætlum við að læra nokkra litla skammta af JavaScript sem þú getur notað strax á vefsíðum. Seinna ætlum við að skoða hvernig hægt er að nota það til að vinna úr vefsíðuformum.
Staðsetning á Javascript kóðanum fer eftir því hvað hann á að gera. Við sjáum að stundum setjum við JavaScript kóðann innaí <HEAD>..</HEAD> skipanirnar í HTML skjalinu. Í öðrum tilvikum situr hann í HTML kóðanum sjálfum. Og stundum er hann jafnvel samtvinnaður HTML skipunum til að koma af stað atburðum eftir því hvað notandi vefsíðunnar er að gera.
Grunnuppsetning JavaScript kóða er svona:
<SCRIPT LANGUAGE="JavaScript">
<!-- fela þetta fyrir vefskoðurum sem geta ekki notað það
// Þetta er JavaScript athugasemd. Hún er ekki þýdd
JavaScript setning1;
JavaScript setning2;
JavaScript setning3;
// hætta að fela -->
</SCRIPT>
<NOSCRIPT>
Innihald fyrir vefskoðara sem geta ekki
ráðið við JavaScript
</NOSCRIPT>
Þetta er öruggasta aðferðin sem til er að setja upp JavaScript þannig að það virki vel við allar aðstæður. Allar aðgerðir eru skilgreindar með setningum á milli <SCRIPT>...</SCRIPT> skipana. Línurnar sem sýndar eru í rauðu eru fyrir innan þessar skipanir til að koma í veg fyrir að kóðinn sjáist ef vefskoðari notandans getur ekki ráðið við JavaScript. Mundu að ef vefskoðari veit ekki hvað skipunin <SCRIPT> gerir, þá einfaldlega hunsar hann hana. Rauðu línurnar:
<!-- fela þetta fyrir vefskoðurum sem geta ekki notað það
:
:
// hætta að fela -->
loka JavaScript setningarnar af innan í HTML athugasemdarskipun svo þær sjást ekki. Vefskoðarinn myndi bara halda áfram, hunsa <NOSCRIPT> og </NOSCRIPT> skipanaparið (sem sannar að vanþekking er sæla) og sýnir innihaldið á milli þeirra.
Ef, aftur á móti, vefskoðarinn þekkir JavaScript, þá byrjar hann að þýða hann línu fyrir línu. Línur í JavaScript sem byrja annað hvort á <!-- eða // eru teknar sem athugasemdir og hunsaðar. Vefskoðarinn les hinar línurnar, sem eru fyrirmæli um aðgerðir skref fyrir skref og framkvæmir þær.
ATHUGAÐU: Hver JavaScript setning verður að enda á semi-kommu (;) og þannig veit vefakoðarinn að hann á að framkvæma það sem stóð í línunni.
Einfaldasta JavaScript skipunin er líklegast sú sem sýnir aðvörun -- texti birtist í samtalsglugga á miðjum skjánum, lætur tölvuna venjulega pípa og bíður þar til notandinn smellir á OK hnappinn til að halda áfram við það sem hann var að gera. Prófaðu til dæmis að sjá hvað gerist þegar þú smellir á hnappinn hér fyrir neðan:
Skipunin til að láta þetta gerast lítur svona út:
onClick="alert('JavaScript hér, yðar hátign! Hvað get ég gert fyrir þig?');
Ef við setjum þennan kóða svona í HTML skjalið okkar:
<SCRIPT LANGUAGE="JavaScript">
<!-- fela þetta fyrir vefskoðurum sem geta ekki notað það
onClick="alert('JavaScript hér, yðar hátign! Hvað get ég gert fyrir þig?');
// hætta að fela -->
</SCRIPT>
þá myndi aðvörunarboðin koma upp um leið og vefskoðarinn les kóðann, líklega ekki það sem við viljum. Skoðaðu þessa prufusíðu til að sjá hvernig þetta virkar.
Það er algengara, eins og með hnappinn fyrir ofan, að JavaScript skipanir eiga að virka þegar þær eru settar af stað við einhvern atburð eins og að notandinn smellir músinni á einhvern hluta skásins. Við lærum meira um atburði eftir því sem á líður.
Nú ætlum við að kasta smávegis forritunarorðum að þér! Ekki snúa þér undan í hryllingi!
JavaScript sækir upplýsingar í hlutalíkan vef-umhverfisins. Hvað þýðir það? Hugsaðu það eins og ættartré sem, þegar maður les það frá vinstri til hægri, færist frá því algilda að því sértæka.
Ha?
Stóri forfaðirinn er vefskoðarinn -- hann hefur ýmsa eiginleika sem lýsa meira og minna þeim vefskoðara sem þú ert að nota, þ.e. hvaða gerð (NetScape, Microsoft, o.s.frv.) og hvaða útgáfunúmer. Þar fyrir neðan er hluturinn gluggi sem lýsir eiginleikum eins vefglugga með hans sérstöku eiginleikum. Þar á eftir kemur hluturinn skjal sem lýsir eiginleikum sérstakrar vefsíðu, eins og slóðinni, hvenær því var breytt síðast, hversu margar stiklur eru í því o.s.frv. Í skjalhlutnum eru margir fleiri eiginleikar sem við skoðum síðar.
Í JavaScript verðum við síðan að vísa í ýmislegt eftir því hvar það er í ættartrénu eða hlutalíkaninu, svona:
gluggi.skjal.form[3].möguleikar.val[2]
sem á við einhvern eiginleka í val, sem finna má í einhverju öðru sem kallast möguleikar, sem er hluti af einhverju formi í skjali sem er í glugga. Þannig fer þetta hlutalíkan frá vinstri til hægri frá stærsta í minnsta hlutinn, þar sem hver hlutur er aðskilinn með punkti. Tölurnar í hornklofum ([x]) gefa til kynna fylki eða samsafn svipaðra hluta, þannig að í dæminu fyrir ofan hefur skjalið minnst 4 form þar sem við erum að vísa í það þriðja (þetta er dálítið flókið, því að JavaScript byrjar að telja marga hluti frá 0 frekar en 1!).
Stundum getum við notað þessa uppsetningu til að prófa eða sækja gildi, svokallaða eiginleika, úr vefsíðu-umhverfinu. Á öðrum tímum getum við notað þessa uppsetningu til að breyta þessum gildum eða eiginleikum.
Þegar við höldum áfram með þessar lexíur fyrir lengra komna, þá verður þitt hlutverk erfiðara og erfiðara. Sumir vefskoðarar, sérstaklega þeir eldri, ráða ekki við JavaScript, en við höfum valið dæmi um kóða sem ætti að virka við sem flestar aðstæður.
JavaScript kóðinn er líka sérlundaður! Þegar þú ert að afrita dæmin, þá er mikilvægt að það séu engar auka línuskipanir (e. return) með í JavaScript línu. Þú sérð hvað við eigum við í næstu lexíu.
Þetta er inngangur, svo við höfum ekki lagað vefinn okkar neitt.
Upprifjunarefni fyrir þessa lexíu:
Athugaðu hvort þú getur set JavaScript aðvörun einhvers staðar í HTML skjölin þín. Hvað gerist ef þú setur tvær mismunandi aðvaranir á tvo staði í skjalið?
Doktor JavaScript skrifar upp á fyrsta skammtinn... aðvörun sem kemur þegar músinni er smellt og atburðir sem gerast þegar músarbendillinn rennur yfir eitthvað.
Námsefnisgerð í HTML: Lexía 27: A Wee Dose of JavaScript
©1994 - 2000
Maricopa Center for Learning and Instruction (MCLI)
Maricopa Community Colleges
Tengiliður MCLI er
Alan Levine
Sendu athugasemdir til alan.levine@domail.maricopa.edu
URL: http://www.vma.is/tut/tut27.html