I den tid jeg har arbejdet hos Reklamebureauet ReFocus A/S, har min interesse for AJAX for alvor taget til. Med en god blanding af prototype og Script.aculo.us og andre visuelle scripts, har vi mulighed for at lave hjemmesider, der ligner og fungerer mere og mere som "almindelige" dekstop applikationer - Men der er et catch eller flere!
Et af de første problemer jeg hørte om, var problemet med browsers back-buttons, hvilket der heldigvis findes en løsning på - og lad os ikke glemme, at dette faktisk kun finder sted, når vi bruger AJAX til navigation, eller fjerner/opdaterer et element, så det gamle indhold forsvinder.
Alex Bosworth har skrevet et par artikler om diverse problemer, som folk enten overser eller ikke kender til - Meget interessant og relevant læsning, for folk der vil igang, eller er igang med AJAX.
Her sidder jeg så, helt alene en fredag eftermiddag på arbejdspladsen og døjer med AJAX ... hold da kæft en nørd jeg er blevet :\ --- Nå, men jeg har faktisk fundet ud af noget idag, og det vil jeg lige dele med jer.
Problemet ligger i Prototypes Ajax.Updater funktion, mere specifikt er det AJAX.Updater og Internet Explorers cache. Løsningen skulle vise sig at være noget så simpel.
Ajax.Updater
Ajax.Updater er en funktion i Prototypes framework, som hurtigt og nemt lader dig updaterer et valgt div-tag med en valgt fil, metodekaldet se ud som følgende:
Funktionen er en forenkling af deres Ajax.Request funktion, i hvilket du ofte vil definerer ekstra funktion til at hånderer responset. Ajax.Updater gør det hele for dig, opretter et requets til filen (anden parameter) og placerer responset i dit div-tag (første parameter) - Det var i hvert fald meningen.
Som jeg skrev for i posten "Webcrawler", har jeg måtte se mig nødsaget til at implementerer et spam-filter på siden, da en ubehøvlet edderkop har fundet vej til mit domæne. I den process fik jeg endnu engang lejlighed til at lege lidt med AJAX, denne gang handler det om en lille fed feature - Edit in place.
Det er ikke længe siden jeg skrev en post om min ynglings-messenger, Miranda IM. Derfor blev jeg hurtigt fanget da jeg på digg.com faldt over posten Radius IM.
Radius IM er en web-baseret AJAX chat/IM-service. Dette er set før, men som deres forside selv foreslår:
Radius IM benytter nemlig Google Maps, som lader dig navigerer verden rundt, og finde venner eller bare tilfældige folk at snakke med.
Endnu en lille hyles til OpenSource miljøet:
Jeg har faktisk længe haft Lightbox JS til at ligge i min "usefull_stuff" mappe, men havde fuldstændig glemt det igen. Her forleden faldt jeg så pludselig over det igen, og endte på programmøren, Lokesh Dhakar's hjemmeside. Glædeligt nok skulle det vise sig, at der var kommet en ny version af scriptet.
For et par dage siden skrev jeg lidt om AJAX. Jeg nævnte at script.aculo.us havde en dejlige pakke til fri download, indeholdende en god samling scripts, til at bygge spændende, interaktive webapplikationer. Nu har jeg måske fundet endnu en kilde!?
Yahoo! har udgivet en lignende pakke de kalder Yahoo! User Interface Library. Interfacet og et tilhørende Yahoo! Design Pattern Library er faktisk hvad der Yahoo! selv benytter, sådan står det skrevet på deres tilhørende developer blog.
Denne post er nok mest dedikeret til alle kode-hovederne derude.
Kan du lide at programmerer, mere konkret web-programmering, har du sikkert hørt om AJAX? Hvis ikke, giver vores alle sammens gode ven, Wikipedia, en god introduktion til AJAX.
AJAX er en forkortelse for Asynchronous JavaScript And XML, og er faktisk ikke noget nyt, men blot en sammenfatning ved brugen af JavaScripting og XML. Meget kort fortalt, går AJAX ud på at sende og modtage data, uden at skulle reloade en side, hvormed din side kommer til at virke mere dynamisk.