Näide: paar aastat vana kasutajaliideste kontrolltöö
Allikas: Lambda
Kontrolltöö: Kasutajaliidesed võrgutehnoloogia baasil ===================================================== 28 mai 2007 Allpool on toodud kuus teemat, millest enamus sisaldab mitut erinevat küsimust. Palun kirjuta vastused küsimuste järele! 1. CSS ====== A) Milline kolmest variandist on õige viis css fail sisse lugeda: a) <link rel="stylesheet" type="text/css" href="mystyle.css"> b) <style src="mystyle.css"> c) <stylesheet>mystyle.css</stylesheet> B) Selgita, mida täpselt kuvab järgmine leht (smiley.gif on mingi väikeste mõõtmetega smiley),ning mida kuvaks ta juhul, kui body style sees oleks täiendavalt antud background-repeat: no-repeat; <html> <head> <style type="text/css"> body { background-image: url('smiley.gif'); background-position: 30% 20%; } </style></head> <body>aa</body> </html> C) Mis värvi on pealkiri? <html> <head> <style type="text/css"> body {color: red; } h1 (color: blue; } </style></head> <body> <h1 style="color: green">Pealkiri</h1> </body> </html> D) Kuhu täpselt kuvatakse pealkirjad? Joonista ja selgita lühidalt. <html> <head> <style type="text/css"> h2.pos_2 { position:relative; left:-20px } h2.pos_3 { position:absolute; left:20px } </style> </head><body> <h2>Heading1</h2> <h2 class="pos_2">Heading2</h2> <h2 class="pos_3">Heading3</h2> <h2>Heading4</h2> </body></html> 2. Javascript ============= A) Kirjuta, mis puhul täpselt avaneb alltoodud koodile vastaval lehel alertbox: <html><head> <script type="text/javascript"> function message() { alert("This alert box was triggered by the onblur event handler") } </script> </head><body><form> Name: <input type="text" onblur="message()" size="20"> </form></body></html> B) Mis saab muutuja x väärtuseks getElements funktsioonis peale nupule vajutamist? <html><head> <script type="text/javascript"> function getElements() { var x=document.getElementsByName("myInput"); } </script> </head><body> <input name="myInput" type="text" size="20" /> <input name="myInput" type="text" size="20" /> <input name="myInput" type="text" size="20" /> <input type="button" onclick="getElements()" /> </body></html> C) Oletame, et tahad eelmises näites peale nupule vajutamist panna kõigi sisendbokside tekstiks "proov" ja lõpuks kuvada alertbox, mis näitab sisendbokside arvu. Kirjuta selleks siia sobiv getElements() funktsioon: D) Mis täpselt juhtub, kui nupule vajutada? <html><head> <script type="text/javascript"> function try() { window.location="http://www.mypage.com" } </script> </head><body> <input type="button" onclick="try()" value="Try it out"> </body></html> E) Mis täpselt juhtub, kui nupule vajutada? <html><head> <script type="text/javascript"> function changeSrc() { document.getElementById("myImage").src="bbb.gif" } </script> </head><body> <img id="myImage" src="aaa.gif" width="107" height="98" /> <input type="button" onclick="changeSrc()" value="Try it out"> </body></html> 3. XML ====== A) Kas see on korrektne XML? Kui ei, siis miks? <?xml version="1.0"?> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> B) Vaba süntaksi võimaldamiseks võivad XML-s olla spetsiaalsed CDATA blokid. Milline variant järgmistest on korrektne viis CDATA blokki anda: a) <xml:CDATA[ Text to be ignored ]> b) <PCDATA> Text to be ignored </PCDATA> c) <CDATA> Text to be ignored </CDATA> d) <![CDATA[ Text to be ignored ]]> C) Kontrolli järgmise XML teksti korrektsust. Vigade korral märgi kõik vead, mis leiad. <m> kuskil<s foo="a1" bar="a2" foo="12"/>asub mingi <m checked>asum</m>alev. <!-- asas --> </m> 4. XSL ====== Meil on antud järgmine XML fail ja XSL fail. Kirjuta välja XSL-i rakendamise täpne tulemus html keelse tekstina (whitespace ei ole oluline)! <?xml version="1.0"?> <FitnessCenter> <Member level="platinum"> <Name>Jeff</Name> <Phone type="home">555-1234</Phone> <Phone type="work">555-4321</Phone> <FavoriteColor>lightgrey</FavoriteColor> </Member>old <Member level="gold"> <Name>Mark</Name> <Phone type="home">555-7777</Phone> <Phone type="work">555-6666</Phone> <FavoriteColor>blue</FavoriteColor> </Member> </FitnessCenter> <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="html"/> <xsl:template match="/"> <HTML> <BODY bgcolor="{/FitnessCenter/Member/FavoriteColor}"> <P> <xsl:for-each select="/FitnessCenter/Member/Phone"> <P>algus</P> <xsl:value-of select="@type"/> <xsl:value-of select="."/> <P>lopp</p> </xsl:for-each> </P> <xsl:value-of select="/FitnessCenter/Member/Phone[@type='home']"/> </BODY> </HTML> </xsl:template> </xsl:stylesheet> 5. XMLHttpRequest ================= A) Kas järgmine viis XMLHttpRequesti objekti teha töötab Firefoxil või MS IE 6-l või mõlemil: request = new XMLHttpRequest() B) Vaata järgmist koodijuppi ja selgita, mis asi on selles koodis updatePage ja mida see updatePage peaks konkreetselt tegema ja mis puhul? Umbmäärane vastus "uuendama lehte" ei ole piisav. function getCustomerInfo() { var phone = document.getElementById("phone").value; var url = "/cgi-local/lookupCustomer.php?phone=" + escape(phone); request.open("GET", url, true); request.onreadystatechange = updatePage; request.send(null); } 6. Kirjandus ============ A) J.Spolsky kirjutab artiklis "User Interface Design For Programmers" muuhulgas kasutusjuhenditest (manual). Mis on kõige olulisemad punktid, mida ta sellega seoses välja toob? B) Umbes kui mitu lehekülge pikk (mõeldud on eraldi lehekülgi, st igale uuele lehele minnes tuleb kuskile klikata) on veebis Tog Nielseni kirjutis "First Principles of Interaction Design": 1,5,10,50,100,500?