abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:00 | Nová verze

    Společnost NVIDIA vydala verzi 13.0 toolkitu CUDA (Wikipedie) umožňujícího vývoj aplikací běžících na jejich grafických kartách. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 04:22 | IT novinky

    Byly vyhlášeni vítězové a zveřejněny vítězné zdrojové kódy (YouTube, GitHub) již 28. ročníku soutěže International Obfuscated C Code Contest (IOCCC), tj. soutěže o nejnepřehlednější (nejobfuskovanější) zdrojový kód v jazyce C.

    Ladislav Hagara | Komentářů: 8
    3.8. 14:22 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za červenec (YouTube).

    Ladislav Hagara | Komentářů: 0
    3.8. 01:11 | Pozvánky

    Konečně se ochladilo, možná i díky tomu přestaly na chvíli padat rakety jako přezrálé hrušky, díky čemuž se na Virtuální Bastlírně dostane i na jiná, přízemnější témata. Pokud si chcete jako každý měsíc popovídat s dalšími bastlíři, techniky, vědci a profesory u virtuálního pokecu u piva, Virtuální Bastlírna je tu pro Vás.

    Ještě před ochlazením se drát na vedení V411 roztáhl o 17 metrů (přesné číslo není známé, ale drát nepřežil) a způsobil tak… více »
    bkralik | Komentářů: 2
    2.8. 23:44 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    1.8. 15:44 | Nová verze

    PixiEditor byl vydán ve verzi 2.0. Jedná se o multiplatformní univerzální all-in-one 2D grafický editor. Zvládne rastrovou i vektorovou grafiku, pixel art, k tomu animace a efekty pomocí uzlového grafu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GNU LGPL 3.0.

    Ladislav Hagara | Komentářů: 2
    1.8. 13:22 | Nová verze

    Byly představeny novinky v Raspberry Pi Connect for Organisations. Vylepšen byl protokol auditu pro lepší zabezpečení. Raspberry Pi Connect je oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče. Verze pro organizace je placená. Cena je 0,50 dolaru za zařízení za měsíc.

    Ladislav Hagara | Komentářů: 0
    1.8. 01:33 | Zajímavý software

    CISA (Cybersecurity and Infrastructure Security Agency) oznámila veřejnou dostupnost škálovatelné a distribuované platformy Thorium pro automatizovanou analýzu malwaru. Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    31.7. 17:22 | Nová verze Ladislav Hagara | Komentářů: 0
    31.7. 16:11 | Zajímavý software

    Společnost Proton AG stojící za Proton Mailem a dalšími službami přidala do svého portfolia Proton Authenticator. S otevřeným zdrojovým kódem a k dispozici na všech zařízeních. Snadno a bezpečně synchronizujte a zálohujte své 2FA kódy. K používání nepotřebujete Proton Account.

    Ladislav Hagara | Komentářů: 0
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (29%)
     (29%)
     (5%)
     (7%)
     (4%)
     (1%)
     (2%)
     (24%)
    Celkem 210 hlasů
     Komentářů: 23, poslední včera 13:01
    Rozcestník

    JQuery peklo - epizóda unobtrusive javascript

    18.11.2013 19:32 | Přečteno: 2860× | Programovanie | poslední úprava: 18.11.2013 19:36

    Unobtrusive javascript je pomerne stará technika, ktorej princípom je zachovanie funkčnosti webu u klienta aj v prípade zakázaného javascriptu. V dnešnom blogu si ukážeme ako (ne)implementovať pomocou jQuery jednoduché odosielanie formulára bez toho, aby sme na serverovej časti museli písať samostatný kód pre ajax.

    Banální věc!

    Náš kód sa bude skladať z veľmi jednoduchého HTML formulára. Kód vyzerá nasledovne:

    <!DOCTYPE html>
    <html>
    <head>
      <title>Form</title>
      <meta charset="utf-8" />
    </head>
    <body>
    
    <form action="index.html" method="post" id="ajaxform" class="ajax">
      <p><input type="text" class="color" name="color" value="#00ff00" /></p>
      <p><input type="submit" name="set-default" value="Set default" />
      <input type="submit" value="Save" /></p>
    </form>
    
    </body>
    </html>
    

    Po odoslaní formulára prehliadač posiela nasledujúce dáta:

    color: #00ff00

    Pri kliknutí na "Set default" sa pošle o jedno pole viacej:

    color: #00ff00
    set-default: Set default

    Tady musíš všechno rozdělat!

    Aby bol náš kód pekne znovupoužiteľný budeme ho písať ako jQuery modul. Na začiatok si určíme API. To bude fakt úplne jednoduché (spôsob použitia hovorí sám za seba):

    jQuery(function($) {
      $('form.ajax').ajaxsubmit();
    });
    

    Nasledujúci kód je samotný jQuery modul. Samotný kód je jednoduchý a jediný skutočne nelogický riadok je posledný riadok s kódom (zátvorky nerátam).

    Skript odchytáva submit event z formulára. Dáta formulára serializuje a pomocou post metódy pošle serveru. Celý HTML dokument, ktorý server vráti vloží do divu a z neho vyberie obsah formulára, ktorý vloží do vnútra formulára. Vloženie dokumentu do elementu div je potrebné pretože jQuery nevie priamo pracovať s dátami, ktoré obsahujú elementy ako head, title

    jQuery.fn.extend({
      ajaxsubmit: function() {
        return this.each(function() {
          var self = $(this);
          var elementId = self.attr('id');
          var action = self.attr('action');
          self.on('submit', function(event) {
            event.preventDefault();
            var data = self.serialize();
            $.post(action, data).done(function(response) {
              var $response = $(response);
              $("#" + elementId).html($('<div/>').append(response).find("#" + elementId).html());
            });
          });
        });
      }
    });
    

    Po odoslaní formulára prehliadač pošle vždy (bez ohľadu na tlačidlo čo je samozrejme chybné) nasledujúce dáta:

    color: #00ff00

    Past vedle pasti!

    Pusitme sa teda do opravy kódu tak, aby nám skript odosielal aj hodnotu tlačidla, na ktoré užívateľ klikol. To dosiahneme zaregistrovaním click eventu na submit tlačidlo. Kód vyzerá nasledovne:

    jQuery.fn.extend({
      ajaxsubmit: function() {
        return this.each(function() {
          var self = $(this);
          var elementId = self.attr('id');
          var action = self.attr('action');
          self.on('submit', function(event) {
            event.preventDefault();
            var data = self.serialize();
            $.post(action, data).done(function(response) {
              var $response = $(response);
              $("#" + elementId).html($('<div/>').append(response).find("#" + elementId).html());
            });
          });
          $('input[type=submit]', self).on('click', function(event) {
            event.preventDefault();
            var data = self.serialize();
            if ($(event.target).attr('name')) {
              data += '&' + encodeURIComponent($(event.target).attr('name')) + '=' + encodeURIComponent($(event.target).attr('value'));
            }
            $.post(action, data).done(function(response) {
              var $response = $(response);
              $("#" + elementId).html($('<div/>').append(response).find("#" + elementId).html());
            });
          });
        });
      }
    });
    

    Po odoslaní formulára prehliadač posiela nasledujúce dáta:

    color: #00ff00

    Pri kliknutí na "Set default" sa pri prvom pokuse odošle:

    color: #00ff00
    set-default: Set default

    To není normálni!

    Posledný kód mal jeden závažný nedostatok. Po načítaní DOM nami nabindované udalosti neplatia na nové elementy. Takže napriek tomu, že odosielanie formulára naďalej fungovalo (pretože ním sme nemanipulovali) odosielanie tlačidla prestalo fungovať (a ako na potvoru sa problém prejaví až pri druhom pokuse). Krásne odhaliteľná chyba, že ;) Poďme tento príklad teda doraziť do funkčného stavu.

    jQuery.fn.extend({
      ajaxsubmit: function() {
        return this.each(function() {
          var self = $(this);
          var elementId = self.attr('id');
          var action = self.attr('action');
          var inputClickCallback = function(event) {
            event.preventDefault();
            var data = self.serialize();
            if ($(event.target).attr('name')) {
              data += '&' + encodeURIComponent($(event.target).attr('name')) + '=' + encodeURIComponent($(event.target).attr('value'));
            }
            $.post(action, data).done(function(response) {
              var $response = $(response);
              $("#" + elementId).html($('<div/>').append(response).find("#" + elementId).html());
              $('input[type=submit]', self).on('click', inputClickCallback);
            });
          }
    
          self.on('submit', function(event) {
            event.preventDefault();
            var data = self.serialize();
            $.post(action, data).done(function(response) {
              var $response = $(response);
              $("#" + elementId).html($('<div/>').append(response).find("#" + elementId).html());
            });
          });
          $('input[type=submit]', self).on('click', inputClickCallback);
        });
      }
    });
    

    Jedinou **** a musíš rozdělat celej traktor!

    Náš formulár je konečne funkčný, niečo tomu však chýba. Ruku na srdce, koľko % návštevníkov zvládne zadať farbu v hex kódoch? Na výber farby teda pridáme color picker. Po pridaní príslušných skriptov postačí tento kód:

    $("input.color").spectrum({ clickoutFiresChange: true });

    A je to. Alebo nie?

    Samozrejme náš príklad zase nie je úplne funkčný. Odosielanie formulára totiž kradne click event. Ak colorpicker nastavený na aktualizáciu pri kliknutí mimo (clickoutFiresChange: true) odchytením kliknutia na submit jednoducho ukradneme pluginu udalosť a namiesto novej farby odošle starú.

    Odosielanie sa samozrejme dá ohackovať tak, aby +/- fungovalo, ale v tomto blogu mi nešlo o to ukázať riešenie na tento konkrétny prípad. Skôr by ma zaujímalo, či je nejako jednoducho možné vyhnúť sa týmto problémom. Nechcem predsa od jQuery nič zložité, len jemne vylepšiť web, ktorý je stavaný tak, aby bol dostupný všetkým bez ohľadu na to, či používajú lynx, čítačku pre nevidiacich, alebo moderný prehliadač.

    PS: dnešné nadpisy sú z môjho obľúbeného webu.

           

    Hodnocení: 86 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    mirec avatar 18.11.2013 19:34 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: JQuery peklo - epizóda unobtrusive javascript
    Příloha:
    Pri tomto komentári sú v prílohe kompletné HTML / js kódy použité v blogu.
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    18.11.2013 20:13 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: JQuery peklo - epizóda unobtrusive javascript
    Na automatické přidání eventu na nové elementy by mohlo pomoct livequery.
    Baník pyčo!
    mirec avatar 18.11.2013 20:25 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: JQuery peklo - epizóda unobtrusive javascript
    Niečo podobné má priamo jQuery v sebe. Dosiahnúť sa to dá metódou on (delegated events konkrétne). Má to však svoje vlastné nevýhody ...
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    19.11.2013 01:39 Absolut Finlandia
    Rozbalit Rozbalit vše Re: JQuery peklo - epizóda unobtrusive javascript
    WOW CHCEL BY SOM BYT TAKY MIMOZO AKO TY
    Josef Kufner avatar 19.11.2013 01:46 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: JQuery peklo - epizóda unobtrusive javascript
    A co tomu formu nastavit javascriptem target do skrytého iframe a odchytit si onload tohoto iframe? Budou ti fungovat i uploady souborů a je to mnohem jednodušší. Do skrytého inputu pak jen nastavíš, zda výsledek má být celá stránka, HTML fragment, nebo JSON či JSONP s odpovědí.
    Hello world ! Segmentation fault (core dumped)
    mirec avatar 19.11.2013 08:05 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: JQuery peklo - epizóda unobtrusive javascript

    Áno je to jedno z riešení. To moje riešenie používa hack v podobe vloženia celého webu do divu len preto, lebo knižnica na manipuláciu s DOM nevie manipulovať s celým vráteným dokumentom. Ak toto nedokáže knižnica priamo na to určená tak si dovolím tvrdiť, že tá knižnica je jednoducho vadná. Odosielanie formulára do skrytého iframu je hack a myslím, že vydrží kratšie než hack s divom. V poslednej dobe prehliadače zvyknú zvyšovať bezpečnosť medzi rámcami, takže neviem dokedy sa bude dať odchytiť onload.

    Minule som dostal do rúk optimalizáciu jedného webu. Bol to web zo šablóny s veľkosťou asi 10MB (načítavanie okolo minúty). V hlavičke napchaných asi 30 jquery pluginov. Tak si teda hovorím, že tam dám on demand loading obrázkov počas scrollovania. Hodím teda jquery plugin na to a zistím, že bez nejakého hacku funguje len vtedy ak scrolluje celý web (nie div s overflowom auto). No nič, hodím teda hack a bum rozhodilo filtrovanie pretože filtre rátali s tým, že všetky obrázky budú načítané. Tak som teda trochu ohackoval filtre aby si aktualizovali rozmery pri onloade na obrázkoch. Bolo to brutálne pomalé, preblikával celý web ... Takto som sa ešte pár dní hral kým som to celé zahodil. Prácu s jQuery by som prirovnal k prechádzke mínovým poľom. Jednoducho si myslíte, že ste už len krôčik od toho aby ste sa z toho dostali a zrazu vaše vnútornosti lietajú všade po okolí.

    Aby som nebol zlý len na jQuery ... skúšal som teda aj iné knižnice. Jedna z vecí ktoré mi fakt u jQuery chýbajú sú bindingy ... ktoré som si myslel, že elegantne rieši AngularJS. A tak už 2 dni v práci riešim dynamický obsah formulára podľa informácii o produkte. Na prvý pohľad vyzerá obyčajný select s výberom produktov ako jednoduchá záležitosť. Angular má priamo možnosť urobiť options nad zoznamom objektov, vybrať ktorá property je label a ktorá je value ... lenže ak má byť value celý objekt tak je správanie totálne rozbité. Javascript totiž 2 rovnaké objekty nepovažuje za rovnaké a porovnáva referencie (dosť blbé na vysokoúrovňový jazyk). Takže aj keď mi z jedného API vylezie pekný zoznam produktov, z druhého vybraný produkt a sú rovnaké angular mi jednoducho stále vypisuje chybu že nemám vybraný produkt pretože mi objekty pri porovnaní == vrátia false (popis hacku na initial selection, ktorý je v mojom prípade neaplikovateľný). Jednoduché a rýchle riešenie spočíva v zaháknutí sa na načítanie zoznamu produktov a na načítanie objednávky (keďže sú doťahované paralelne a neviem ktorá bude skôr) a ich ohackovanie aby mali aj rovnakú referenciu. Možno sa to dá aj inak, ale AngularJS sa ešte len učím (musím keďže nám z práce odišiel expert na js a všetko teda zostalo na mne, doteraz som riešil len serverové veci).

    Teraz idem s bývalým kolegom robiť totálnu integráciu angularu s djangom (tastypie na rest + môj zatiaľ nezverejnený html api browser). Máme v pláne celý kód dať open source (zrejme BSD licencia). AngularJS je pekná knižnica, ale brutálne trpí tým, že je postavená nad js. Ja sa stále snažím prísť na to ako ľudia dokážu pracovať s js, ale zatiaľ ma to stálo len veľa nervov a vytrhaných vlasov.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    19.11.2013 10:43 frdrx | skóre: 29 | blog: frdrx
    Rozbalit Rozbalit vše Re: JQuery peklo - epizóda unobtrusive javascript
    My vůbec nepoužíváme Ajax a všechna komunikace mezi browserem a Node serverem probíhá přes WebSockets, a když si s z něčeho začnem trhat vlasy, přestanem to používat. jQuery samotné nás ještě nenapálilo.
    Patička mi slouží k tomu, abych si lépe poznal svoje příspěvky.
    19.11.2013 10:58 R
    Rozbalit Rozbalit vše Re: JQuery peklo - epizóda unobtrusive javascript
    Som rad, ze sa niekto aj takymto veciam venuje. Neznasam weby, kde sa bez javascriptu nezobrazi nic a pritom by tam stacilo ciste HTML. Alebo rozne vyhladavacie formulare, ktore sa nedaju submitnut bez JS (niektore ani s JS v "nespravnom" browseri), lebo to robilo nejake hovado.
    19.11.2013 18:13 cain
    Rozbalit Rozbalit vše Re: JQuery peklo - epizóda unobtrusive javascript
    Vloženie dokumentu do elementu div je potrebné pretože jQuery nevie priamo pracovať s dátami, ktoré obsahujú elementy ako head, title …
    Coze ??
    mirec avatar 19.11.2013 19:03 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: JQuery peklo - epizóda unobtrusive javascript

    To je odkaz na aktuálny dokument, nie parsovaný dokument vrátený z xhr.

    Ak ten divný kód nahradím:

    $("#" + elementId).html($("#" + elementId, $response).html());

    Tak mi vnútorné volanie $("#" + elementId, $response).html() na validnom dokumente vráti undefined čo mi pri volaní .html(...) funguje podobne ako volanie bez argumentov tj. vráti aktuálne html namiesto modifikácie. Asi pol hodiny som strávil hľadaním toho prečo sa mi obsah divu neaktualizuje .... i keď mám taký pocit, že vo firefoxe to išlo.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    Bedňa avatar 19.11.2013 22:30 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: JQuery peklo - epizóda unobtrusive javascript
    Podľa mňa to robíš celé zle a rozmýšľaš ako v C++, alebo mi možno niečo uniklo.
    KERNEL ULTRAS video channel >>>
    19.11.2013 22:42 frdrx | skóre: 29 | blog: frdrx
    Rozbalit Rozbalit vše Re: JQuery peklo - epizóda unobtrusive javascript
    Taky mi to přijde celý úplně špatně. Jenom se necítím být dost silný v kramflecích na to abych se pokusil vysvětlit a obhájit si co přesně a proč.
    Patička mi slouží k tomu, abych si lépe poznal svoje příspěvky.
    mirec avatar 20.11.2013 07:34 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: JQuery peklo - epizóda unobtrusive javascript

    Mňa nezaujímajú argumenty. V blogu som riešil úplne jednoduchý problém - odosielanie formulára javascriptom tak, aby som ponechal funkčnosť aj s vypnutým js a nemusel som používať nejaký extra kód na serverovej časti. V prvom komentári (keďže k blogu sa to nedá) som priložil zdrojové kódy a celé som to písal preto, aby sa niekto chytil zdrojákov a ukázal ako sa to má robiť správne (konkrétne som dúfal v úpravu posledného príkladu). To riešenie, ktoré som ukázal ja je nefunkčné, náchylné na chyby, bez ošetrenia prakticky čohokoľvek ... jednoducho typický js kód, ktorým je posiaty celý web. Keďže sa tu pohybuje mnoho mnoho programátorov lepších ako ja hodil som do blogu čo mi vadí pretože chcem vedieť ako sa to rieši správne.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    20.11.2013 08:25 frdrx | skóre: 29 | blog: frdrx
    Rozbalit Rozbalit vše Re: JQuery peklo - epizóda unobtrusive javascript
    Chvíli jsem si s tím hrál, ale myslím, že je to typická situace kdy je lepší začít znova s prázdným souborem, na což jsem ještě nenašel čas (a což by stejně možná ani nepřineslo kýžený výsledek, i kdybych ho našel, protože nejsem žádný eso). Blbý je, že nemám zkušenost s "unobtrusive" technikami, protože razíme názor, že vypnout js v prohlížeči je zhruba taková věc jako vypnout html.
    Patička mi slouží k tomu, abych si lépe poznal svoje příspěvky.
    mirec avatar 20.11.2013 08:46 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: JQuery peklo - epizóda unobtrusive javascript

    Ja som čo sa týka vývoja js buď úplne nový alebo úplne mimo, ťažko povedať. Pred pár dňami nás v práci opustil jediný expert na javascript, takže som tieto veci musel prebrať ja. Primárne som vývojár v python (~50%) potom C++ (~20%), QML (~15%), zvyšok tvoria len marginálne veci typu lisp, haskell. Prakticky za všetkými jazykmi vidím nejakú logiku ale keď vidím v js pomocou jquery spúšťať metódu spôsobom $("selektor").názov_pluginu("názov_pluginu").metóda() tak si začnem o js niečo škaredé myslieť. Teraz sa hrabem rôznymi materiálmi, chápem, že js je skôr funkcionálny jazyk s namontovanou syntaxou podobnou c / jave čo je podľa mňa absolútne nešťastné riešenie. Chápem, že asi musím zmeniť nejako myslenie (niečo ako prechod C++ - haskell) ale zatiaľ som nenašiel nejakú magickú formulu kedy som si povedal, že viem s tým robiť a jazyk mi neprekáža v tom čo chcem urobiť.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    Josef Kufner avatar 20.11.2013 11:33 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: JQuery peklo - epizóda unobtrusive javascript
    Javaskript není "spíše funkcionální", on je funkcionální. Céčková syntaxe ho jen činí více stravitelným. Co jsem zatím potkal funkcionální jazyky, tak všechny měly syntaxi více či méně příšernou.

    Co se jQuery týče ($('...').něco().něco()), je to jen úspornější způsob, jak zapsat array map a foreach.
    Hello world ! Segmentation fault (core dumped)
    mirec avatar 20.11.2013 12:37 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: JQuery peklo - epizóda unobtrusive javascript

    JS nie je funkcionálny jazyk, len má akú-takú podporu funkcionálneho programovania. Keď som sa naposledy o to zaujímal zamietli prijatie tail rekurzie. A k tomu zápisu myslím, že som minule videl $("datepicker").pickadate("pickadate").get("yyyy-mm-dd").

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    Bedňa avatar 20.11.2013 21:08 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: JQuery peklo - epizóda unobtrusive javascript
    Kurňa ja sa mažem s príkladom s dátami JSON a pozerám že to na serverovej časti nechceš upravovať, tak to mení situáciu, až bude čas tak to upravím inak :-)
    KERNEL ULTRAS video channel >>>
    21.11.2013 12:19 Michal Karas | skóre: 45 | blog: /dev/random
    Rozbalit Rozbalit vše Re: JQuery peklo - epizóda unobtrusive javascript
    Turbolinks znáš? Mají stejný cíl jako ty a jejich zdroják v CoffeeScriptu je (alespoň pro mě) docela pěkně čitelný, takže bys v tom možná mohl najít nějakou inspiraci.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.