Skapa HTML-kod från javaskriptet |
![]() ![]() |
Vi har redan använt textsträngar i flera skript och litet längre fram skall vi titta mycket på objektet String. Men här skall vi låta ett javaskript bygga upp de HTML-taggar som behövs för att skapa en tabell med färger och färgvärden. En sträng kan utnyttja alla tecken, även de båda hakar som man använder för att markera att något är HTML-kod: < och >. När webbläsaren hittar dessa hakar, tolkar den det som står mellan hakarna som HTML-kod. Webbläsaren skriver inte ut innehållet mellan hakarna, utan använder koden mellan dem för att formatera sidan. För att förmå ett javaskript att skriva ut text på sidan, använder vi följande kod: |
<SCRIPT language="JavaScript"> |
document.write('...') Om jag hade behövt använda skriptet i en funktion som anropades någonstans ifrån, skulle jag ha lagt det i HEAD-elementet. I stället placerade jag den direkt i den här tabellcellen, och resultatet blir exakt detsamma som om jag hade skrivit in HTML-koden direkt i cellen i själva verket hade koden då blivit kortare: |
<CENTER> |
Visa när sidan uppdaterades
Genom att kombinera "document.write" med ett av dokumentobjekten, kan vi visa när sidan senast uppdaterades. Även här lägger vi skriptet direkt i BODY-taggen: |
<SCRIPT language="JavaScript"> |
document.write(' ... ' + document.lastModified + ' ... '); Alltså: Skriv 'kod' + detta + 'mer kod'. Större jobb för document.writeMen det är inte i första hand i sådana här småsnuttar som document.write gör nytta. Eftersom stränghanteringen kan kombineras men annan javaskriptkod, kan vi få den att utföra betydligt större arbeten. Vi skall visa alla de 216 "webbsäkra" färgerna i sex tabeller. På varje färgruta skrivs färgens hexvärde (000000 till ffffff). I den första tabellen skall vi visa alla färger vars värde börjar på 00, i den andra alla vars värde börjar på 33 och så vidare. Hexvärdena skall skrivas med en teckensnittsfärg som avviker från bakgrundsfärgerna (det inte alltid tillräckligt, tyvärr, men markerar man värdet syns det ändå). Om du har erfarenhet av att koda HTML, inser du säkert hur omfattande den här tabellkoden skulle bli. Vi skall ha sex tabeller med sammanlagt 36 rader och 216 celler. Varje cell skall ha en egen bakgrundsfärg och en egen teckensnittsfärg ... Vi gör det med ett javaskript i stället. Koden ser ut så här: |
<SCRIPT language="JavaScript"> |
Observera att det räcker med 11 kodrader resten är kommentarer och klamrar. webbsaker = new Array('00','33','66','99','cc','ff'); for (r=0;r<6;r++) och for (g=0;g<6;g++) och for (b=0;b<6;b++)
document.write("<table border=0 cellpadding=3 bgColor='white'>");
document.write("<tr>");
document.write('<td bgcolor="#'+webbsaker[r]+webbsaker[g]+webbsaker[b]+'" align="right">');
document.write('<tt><font color="#'+webbsaker[7-r]+webbsaker[7-g]+webbsaker[7-b]+'"> '); Eftersom texten ffffff är svårläst i normala breddsteg, anges även taggen <TT>. Den gör att den efterföljande texten visas med fast breddsteg. Det gör samtidigt att ffffff kommer att visas lika brett som 000000.
document.write(' ' +webbsaker[r]+webbsaker[g]+webbsaker[b]+' </font></tt></td>'); Den här raden lägger till tre blanksteg före och efter varje text, för att texten skall visas snyggare i cellerna. Den skriver även med den angivna teckensnittsfärgen ut färgvärdena i respektive celler. Dessutom avslutar den FONT-taggar, TT-taggar och TD-taggar.
document.write("</tr>");
document.write("</table><br>"); |
![]() ![]() |
© SupportData.Net |