![]() "Advanced HTML" skyrelis Tęsiame "Advanced HTML" skyrelį. Tai jau penktasis jo leidimas -
galite pasitikrinti ankstesniuosius: Visi lygūs, bet kai kurie lygesni
Įsivaizduokite, kad turite nuolat kintantį WWW puslapį. Tačiau jame pasikeičia ne visi piešiniai - kai
kurie išlieka tie patys. Kad lankytojai visada matytų nuolat atsinaujinantį puslapį nepriklausomai nuo jų
naršyklės "kešavimo" (cashe) režimo, paprasčiausias būdas yra į puslapio antraštę įtraukti META
direktyvą, nurodančią, kad šis puslapis nekešuotinas: Tačiau ne vienam lankytojui palengvintumėte duoną, jei atskirai nurodytumėte, kuriuos piešinius kešuoti, o kuriuos - ne. 1 būdas - naudoti parametrus. Jis ypač efektyvus, kai nauji piešiniai užrašomi tais pačiais vardais kaip
seni. Parametrai "apgauna" naršykles, kurios mano, kad tai "programinis" objektas, pvz., 2 būdas - programinis. Galima iškviesti programą, kuri gražina parametru nurodytą priešinį. Tai
tolimesnis ankstesnės galimybės išvystymas. Pvz., 3 būdas - serverio režimai. "Apache" serveris gali būti sukompiliuotas įtraukiant "mod_headers"
modulį (apie tai daugiau žiūrėkite www.apache.org/docs/mod/mod_headers.html).
Tada uždrausti kešavimą galima visam katalogui - jame reikia sukurti .htaccess failą, kuriame būtų
įrašyta tokia eilutė: Tą patį galima nurodyti pagrindiniame httpd.conf faile įtraukus tokį aprašą: <Directory /img/> Header Set Pragma "no-cache" </Directory> Taip pat galima naudoti <Files> (>=1.2 versijoje) arba <FileMatch> direktyvas nurodant nekešavimo režimą atskiriems failams (apie minėtas direktyvas galite daugiau paskaityti www.apache.org/docs/mod/core.html), pvz., <Files ~"\.gif$"> Header Set Pragma "no-cache" </Files> Piešinių atsiuntimo eilės tvarka Piešinių atsiuntimo (GET) užklausas naršyklė išsiunčia ta eilės tvarka, kokia yra nuorodos į juos.
Toliau jie siunčiami lygiagrečiai ir jų "atvykimo" tvarka gali būti bet kokia. Jei norite patikrinti
užklausų eiliškumą, galite perimti "onLoad" įvykį, pvz., Tačiu kaip padaryti, kad piešiniai pasirodytų norima tvarka? Galima pasinaudoti CSS galimybe slėpti objektą. Aėjus tinkamam laikui visi piešiniai "atskleidžiami". Štai tokios piešinio "atskleidimo" galimybės iliustracija (ahtml.gif bus parodomas tik pilnai įkėlus WWW puslapį, t.y. tik tada, kai bus pateiktas log2.gif - net jei šis ir didesnis): <HTML><HEAD> <Script Language="JavaScript"> <!-- // ©1999, Copyright to Global Lithuanian Net // Pavyzdys veikia ir IE ir Netscape programose, // nors jos naudoja skirtingus metodus function im_unhide() { if (document.all) document["P1"].style.visibility="visible" else if (document.layers) document.P1.visibility="visible"; } //--> </Script> </HEAD> <BODY onLoad='im_unhide();'> <IMG SRC="..\log2.gif"><BR> <Script Language="JavaScript"> <!-- if (document.all) document.write ('<IMG SRC="ahtml.gif" NAME="P1" STYLE="visibility: hidden">') else { document.write ('<LAYER NAME="P1"><IMG SRC="ahtml.gif"></LAYER>') document.P1.visibility="hidden" } //--> </Script> <NOSCRIPT><IMG SRC="ahtml.gif"></NOSCRIPT><BR> </BODY></HTML>
Spragtelėkite čia,
jei norite pažiūrėti, kaip jis "gyvai" veikia! Norint geriau įsigilinti į šį pavyzdėlį reikia turėti bent minimalų supratimą apie "JavaScript" kalbą. Todėl, jei bus neaiškumų, kviečiame su šios kalbos (ir formų) pradmenimis kviečiame susipažinti šiame "Vartiklio" puslapyje. Alternatyvi galimybė - pradžioje pateikti tuščius (arba prastos kokybės piešinius). Tikruosius piešinius įsiminti vaizdų masyve. Pasibaigus puslapio įkėlimui, "pirmapradžius" vaizdus pakeisti tikraisiais piešiniais. Ši galimybė veikia tik IE 3.1 ar NN 3.x (ir aukštesnėje) naršyklių versijose. Parašykite, ar norite gauti pilną šio alternatyvaus pavyzdžio kodą.
Laukiame Jūsų atsiliepimų, komentarų, papildymų šiai temai, naujų klausimų ir pasiūlymų. Ankstesnės "Advanced HTML" skyrelio temos:
| |