javascript:

Šiam įrašui sukūriau naują kategoriją: “blogis”. Neapsigaukite: blogis ne programavimo kalba, o protokolas, tiksliau pseudo protokolas, nes oficialiai protokolo javascript: nėra.

Niekada, niekada nuorodose nenaudokite href="javascript:".

Vienas labiausiai erzinančių dalykų, kai bendaršydamas viduriniu pelės mygtuku/ratuku sumaigai dėmesį atkreipusias nuorodas – jos atsidaro naujose kortelėse (tab’uose).
Eini skaityti ir randi tik tuščią langą ir adreso eilutėje besipuikuojantį “javascript:”.

Nenoriu dabar išsiplėsti apie naujų langų atidarymo pliusus ir minusus, bet jei jums laaaabai reikia naujo lango, padarykite civilizuotai. href attribute turi būti nuoroda į galutinį dokumentą: ar tai būtų didesnio formato paveikslėlis rodomas paspaudus ant sumažintos versijos, ar formos lauko aprašymas, rodomas iššokančiame lange paspaudus nuorodą “pagalba”.

Kai nuoroda veda tiesiog į dokumentą, niekas nesugriūva:

  • Nuorodos veikia net kai naršyklė nepalaiko Javascript arba tas palaikymas išjungtas.
  • Paieškos sistemos sugebės turinį rasti ir suindeksuoti.
  • Aš ir toliau galėsiu spragsėti vidurinį pelės mygtuką, o rezultatas neprivers sakyti kelių negražių žodžių.

Visišku blogiu javascript: pavadinti negaliu, nes, nors nuorodose jam vietos nėra, bet kai kur šis pseudo protokolas praverčia. Kalbu apie bookmarklets.

Va šis

javascript:(function(){
alert(document.getElementsByTagName('table').length)
})();
man iš karto pasako, kiek lentelių yra panaudota tinklalapyje. Jis neveiks, jei puslapis rėmeliuose (frames), bet tokiu atveju lentelių skaičiuoti ir nebereikia…

Užvakar visai netyčia pakliuvau į vienos lietuviškos kompanijos tinklalapį, kuriame visa navigacija suregzta būtent su tuo nelemtu javascript:. Suregzta ne bet kaip, o su fantazija, nes funkcija, kuri turi rodyti kažkokį puslapį realizuota window.content.location = 'somepage.html' motyvais. Trys skirtingos nuorodos – trys skirtingos funkcijos.

O firma tikrai ne nauja, bet kažkaip buvau ją pamiršęs. Javascript mano naršyklėje, lamei, veikia, tai panaršiau. Nuostabūs tekstai, nežinau, ką jie rūkė juos rašydami, bet, pasak Woody Alleno, verčiau tegul nebando to vežti per muitinę. Tiek daug buzzword’ų ir stantrumpų ir taip mažai prasmės vienoj vietoj senokai neteko matyti. Akivaizdu, kad šios knygos jie neskaitė (labai gera knyga, rekomenduoju). O gal aš tiesiog per kvailas suprasti tokius dalykus kaip “We are creating innovation because of innovation”.

Žinote ką, vaikinai, jei tokia navigacija yra inovacijos pavyzdys, tai grabe aš mačiau tokią inovaciją.

CSS – 10 metų

Šiomis dienomis CSS švenčia savo dešimtmetį.

Sutapimas ar ne, bet prieš savaitę ir microsoft.com pagaliau atsikratė lentelių ir perėjo prie CSS pozicionavimo. Tiesa, kodas toli gražu ne pavyzdinis ir visas randuotas nuo kovų su jų turinio valdymo sistema, validatorius dar pažeria pustuzinį klaidų, bet pastangos ir tendencija – sveikintinos.

Jei prieš trejus-ketverius metus, prasidėjus WWW standartų vajui galvojai, kad čia tik saujelė entuziastų, pašūkaus, pažais su CSS ir nurims; o gal Microsoft padarys savaip ir vėl viskas bus kaip buvę – turiu nuvilti, seni metodai jau atgyveno. Kai CSS pozicionavimui pradeda naudoti penkta pagal lankomumą interneto svetainė, o tuo labiau – priklausanti kompanijai, kuri dar visai neseniai buvo laikoma priešiškumo WWW standartams simboliu – jau nėra kada svarstyti laikas ar ne laikas mokytis šios technologijos. Jei abejoji – pora metelių vėluoji…

Pacituosiu Molly cituojančią Andy Clarke:

Those people still delivering nested table layout, spacer gifs or ignoring accessibility can no longer call themselves web professionals.

Pabaigai – kitiems metams palinkėsiu kolegoms (ir sau) daugiau profesionalumo, kad nei mums, nei mūsų darbams netiktų šie Joe Clark žodžiai:

A failed redesign is a Web page created from scratch, or substantially updated, during the era of Web standards that nonetheless ignores or misuses those standards. A failed redesign pretends that valid code and accessibility guidelines do not exist; it pretends that the 21st century is frozen in the amber of the year 1999. It indicates not merely unprofessional Web-development practices but outright incompetence. For if you are producing tag-soup code and using tables for layout in the 21st century, that’s what you are: Incompetent.