Archive for the ‘JavaScript’ category

jQuery vtičniki, drugi del

November 26th, 2009

Po prvem članku, ki pokriva osnove izolacije Javascript kode, se premikamo  v področje same jQuery knjižnice ter njenih pomožnih funkcij, s katerimi bomo zgradili naš vtičnik. Tokrat si bomo ogledali osnovni jQuery objekt ter jQuery množice.

Kot se spomnite, smo v prejšnjem članku govorili o lokalizaciji spremenljivk in zaščiti kode pred zunanjimi vplivi. Začnimo pa z osnovnimi orodji, s katerimi dodajamo funkcionalnost sami knjižnici.

» Read more: jQuery vtičniki, drugi del

jQuery vtičniki (plugini), prvi del

November 10th, 2009

jQuery je ena izmed najbolj popularnih Javascript knjižnic na spletu, poganja pa zelo širok spekter različnih spletnih strani; od medijsko bogatih, interaktivnih in efektov polnih strani, do poslovno kritičnih aplikacij z naprednimi vmesniki.

Tema te serije člankov bo pisanje vtičnikov oz. pluginov, kakor že hočete imenovati te zadeve. Začeli bomo z osnovami in se počasi premikali proti naprednejšim funkcijam knjižnice in prijemom, ki so na voljo pri razširjanju funkcionalnosti knjižnice.

» Read more: jQuery vtičniki (plugini), prvi del

Uporabniška izkušnja in subjektivno dojemanje kvalitete

November 2nd, 2009

Zadnje čase se veliko posvečam knjigam, člankom in ostalim gradivom na temo oblikovanja in optimiziranja uporabniških vmesnikov – najsibodo ti vmesniki spletne aplikacije, nadzorne plošče fizičnih naprav ali igre. Naj že na začetku povem: to ni trda znanost, je nekje med veščino in mehko znanostjo, saj pravila in načela vsebujejo ogromno število izjem in protiprimerov. Je pa par pravil, ki vseeno držijo, ne glede na to, kdaj in kako so implementirani.

» Read more: Uporabniška izkušnja in subjektivno dojemanje kvalitete

ToboAds open source plugins

May 21st, 2008

Danes smo odprli uradni repozitorij za ToboAds plugine, s čimer želimo olajšati integracijo ToboAds sistema s širokim spektrom aplikacij. Projekt smo odprli pod LGPL licenco in se nahaja na Google Code:

http://code.google.com/p/toboads-plugins/

Trenutno so podprte platforme Joomla, Wordpress in Symfony Framework. Vsi plugini so trenutno v alfa izdaji, kar pomeni, da zaenkrat še ne zagotavljamo 100% produkcijske stabilnosti le-teh. Če jih uporabljate in opazite kakšno nepravilnost, pa nam lahko to sporočite preko issue trackerja.

Kako se izogniti uporabi Flasha pri demo CD-jih

August 29th, 2007

Ker trenutno pomagam zbirati in urejati gradivo za Labirint trenutkov in ga lično zapakirati v dinamično obliko, sem se odločil narediti nekaj dokaj neortodoksnega – narediti “Flash” predstavitev brez Flasha.

Kako, porečete? No, ideja je taka – ker zelo nerad programiram in delam v Flashu, se ga rad izognem, ko je le-to možno. In ker sem zelo domač v Javascriptu (ki je neke vrste ActionScript, natančneje “sibling” jezik v grupi, imenovani ECMAScript) in XHTML-ju kot prezentacijskem sloju, se mi je posvetilo – zakaj pa ne bi zadeve naredil kar v XHTML-ju? Glede na to, da so dandanes knjižnice z efekti res dobre (jQuery in maljon vtičnikov za le-tega) in računalniki dovolj dobri za predvajanje JS animacij, zakaj ne bi tega res naredil kot offline XHTML?

Vse lepo in prav, dokler se ne udariš ob eno prepreko – nešteta množica različnih brskalnikov, ki se nahajajo na računalnikih končnih uporabnikov (CD je namenjen distribuciji medijem in sponzorjem), od katerih je najbolj problematičen IE – 5.5, 6.0 in 7.0. Trije brskalniki, ki se med seboj po sposobnostih in funkcionalnosti razlikujejo huje kot različni brskalniki drugih ponudnikov med seboj. Nočna mora – še posebej, kar se tiče podpore JS knjižnic in prikaza strani, pa četudi gre za še najbolj preproste CSS vmesnike.

…in potem, ključni trenutek – kaj pa če bi prisilil uporabnika, da uporabi Firefox? Lame rešitev bi sicer bila ikona na dnu strani (mogoče še celo splash screen pred dejansko stranjo), kjer bi propagiral “Best viewed in Firefox,” ampak vsak spletni oblikovalec in programer ve, da je to formalni no-no. Tega se ne počne že od davnega leta 1997. Seveda bi lahko priložil inštalacijsko kopijo Firefoxa na CD-ju, ampak kaj, če bi s tem povozil kakšne nastavitve in novejše različice brskalnika, ki je že na sistemu (recimo Firefox 1.5-)? Najti je bilo treba boljšo, izolirano in samozadostno rešitev. Rezultat? Portable Firefox!

Seveda pa sama predstavitev zna zavajati ljudi, ker, seveda, gre še vedno za brskalnik v vsej svoji veličini. Še vedno lahko dodajaš zaznamke, vtičnike, uporabljaš multi-tab vmesnik, itd. Pa tudi vsi menuji so še vedno vidni, kar seveda nima mesta v namenskem brskalniku, ki služi le predstavitvi.

Slednje pa lahko, vsaj vizualno (do sem sem trenutno prišel), popravimo s pomočjo userChrome.css datoteke. Le-ta se nahaja v PortableFirefox/Data/profile/chrome, določa pa izgled XUL vmesnika. V mojem primeru sem hotel v prvem koraku izbrisati zgornjo vrstico z menuji, kar sem dosegel z naslednjo vsebino:

// lang css
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
#toolbar-menubar, #nav-bar {
  display: none !important;
}

To skrije naslovno vrstico in menu, bookmark toolbar pa sem skril že prej s pomočjo kontekstnega menuja z desnim klikom na sivi prostor med gumbi. Željeno predstavitveno stran pa lahko odprem s preprostim ukazom v smislu PortableFirefox.exe file:///c:/pot/do/projektnega/index.html in voilá! Gecko engine s Flash pluginom in polnim JavaScript VM-jem, z vsemi dobrotami XHTML in CSS.

Sicer je še veliko ostalo – treba je izključiti vse t.i. “acceleratorje” (bližnjice na tipkovnici), ki jih je trenutno še moč klicati (Ctrl+O, Ctrl+B, Ctrl+H in podobno), izklopiti je treba še kontekstni menu pri desnem kliku na “non-input” HTML elemente (torej, vse, razen input, textarea in podobno) in par ostalih bonbončkov.

Končen nabor datotek in komentirana navodila pa bom objavil, če koga zanima takšno početje. ;) Če ne drugega, lahko sedaj res oblikujete brskalnik natančno tako, kot želite.