Š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
man iš karto pasako, kiek lentelių yra panaudota tinklalapyje. Jis neveiks, jei puslapis rėmeliuose (frames), bet tokiu atveju lentelių skaičiuoti ir nebereikia…
javascript:(function(){
alert(document.getElementsByTagName('table').length)
})();
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ą.
O taip pilnai pritariu, berods sprendimas būtų įdėti nuorodoje ‘onclick’ option’ą. Niekas labiau neerzina kai spusteli open in new tab ir tau atverčia javascript:…
Visiškai su Jumis sutinku, Rimantai. Labai geras pastebejimas ne tik LT internetui, bet ir kitai daliai pasaulio, kuri į href atributą deda tuos užknisusios “javascript:” ir trukdo pažengusiems interneto vartotojams atidaryti nauja tabą ar langą.
Iš kitos puses iš to puikiai galima spresti apie kureju žinias.
meldžiuosi, kad tavo balsas, dievui į ausį.. :)
del js pilnai sutinku, bet sudomino:
“Užvakar visai netyčia pakliuvau į vienos lietuviškos kompanijos tinklalapį, kuriame visa navigacija suregzta būtent su tuo nelemtu … ”
idomu kas per kompanija :)
Mano supratimu visada reikia herojus nebijoti pristatyti vardais ;-).
Tai aš spėju, kad ta labai “inovatyvi” įmonė — Megalogika
Na nežinia, kiek jie piktybiški, tik nelaiku ir ne vietoje pasitaikė, kaip tik tada, kai ruošiausi apie tai rašyti. Yra blogesnių :(
Bet kartais tenka taip daryt. Pvz yra javascript funkcija, kuri “slepia” e-mail’o adresą nuo spambotų naršančių tavo saite. Tai nežinau kaip kitaip įgyvendint linką mailto: … Manau tai tik vienintelė išimtis, kitais atvejais tai yra nesąmonė. Nebent darai popup’ą iš fliašo bet ten jau ir taip naujam tabs’e neatidarysi :)
Na, mailto:, žinoma, specifinis atvejis, bet čia jau požiūrio klausimas.
Mano atrodo, kad toks slapstymasis nuo spamerių tai daugiau saviapgaulė, el. pašto adresas į jų rankas gali pakliūti daugybe būdų. Mano adresas išbarstytas po visą internetą, bet nepasakyčiau, kad kenčiu dėl spamo. Aišku, čia ir gmail nemažai prisideda (abu mano nedarbiniai adresai nukreipti į gmail). Kas neturi rimtos apsaugos nuo spamo, gal adreso slėpimas ir yra kažkiek efektyvu. Nors slėpdamasis nuo problemos jos neišspręsi…
Tiap, opi ir erzinanti problema ;)
Tai kad Megalogika savo svetainėje naudoja javascript’ą navigacijai, manyčiau, nieko baisaus. Tarkim, tai jų “dizaino” sprendimas ;)
Tačiau tokioms svetainėms kaip vpu.lt (Vilniaus Pedagoginis Universitetas) arba fd.lt (Farmacijos Departamentas) dėl jų prigimties (dideli informacijos kiekiai, poreikis lyginti informaciją) normali (ne JavaScript’inė) navigacija yra tiesiog kritiška.
Tada tikrai užknisa ;)
Sorry, prie tikrai užknisa nuorodos dėti ne ketinau, tiesiog blogo varikliukas href’ą su javascript interpretavo kaip nuorodą.
Robertai, tavo minėtas svetaines ištiko prakeikimas vardu SmartWeb. Jei pereitum per SW naudojančių svetainių sąrašą – nemažai perliukų rastum. Vien www,socmin.lt ko verta!
Na, sutinku. Spam filtrai yra būtinas dalykas, bet niekad nepakenks papildoma apsauga. Gal ir ne tinkamiausias pavizdys, bet kai vagis įsilaužinėja į butą, kuo daugiau spynų tuo jis ilgiau sugaišta :) Žinoma, viskas turi būti proto ribose…
nesupyktumet jai as sia informacija panaudociau savo wap svetaineje?
Tikiuosi htmlspecialchars :)
Foo
Kartais tikrai pravercia.
:) Nors ir skaiciau Roberto komentaro kazkodel tikejausi stebuklo..
<a href=”link.html” onclick=”alert(‘Clicked’); return false;” >Link</a>
Esu uzsispyres.
Arba nesusilaikau neparases eilerastuko gal net visai ne vietoj :)
<a href=”no_script.html” id=”lnk” onclick=”return false”>Scripted</a>
document.onload = function() {
document.getElementById(‘lnk’).addEventListener(‘click’, scripted, false);
}
o kam reikalingi tarpautiniai zodziai?
Tarpkulturinis bendravimas (ypac globalizacijos ashroje) yra labai sunkus ir biznio zmones sneka kaip idijotai vien todel, kad japonui paduota vizitine kortele ne dviem rankomis reiskia jo izeidima, jei pagavai ka turiu galvoje.
Nuosirdzius rasinelius savo puslapiuose gali rashuti karstadirbiai, o it kalba turetu buti kodu surashymas, nes taip surashai kondensata, o ne skiedala.
del tabu sutinku – bet dizainas to reikalavo. kitavertus nera cia “tabinis” puslapis. Tai nera informacijos sklaidimas – tai uosline komunikacija ;)
Tarptautiniai žodžiai skiedalo kondensatu, deja, nepadaro.
“dizainas to reikalavo” – atsiprašau, bet toks posakis man reiškia savo amato neišmanymą.
Neįsivaizduoju dizaino, kuris reikalautų “javascript:”. Tą patį efektą galima realizuoti kultūringai, galima ir belekaip.
na net ir citrus vietoj target:blank naudoja javascript:… :)
http://www.mvisata.lt/lt/tv/search?query=&filter=lt%2Ftv&x=7&y=13
(virsuj, salia EN, Rekomenduok draugui ikona)