Läste en artikel som gick ut på att nytt och hett just nu var AJAX (Asynchronous JavaScript And XML). Att fördelen med detta är att delar av en sida kan uppdateras utan att allt innehåll behöver laddas om. Tanken som slog mig då var att detta var väl liknande argument som talade för användning av frames eller kanske ännu hellre iframes. Personligen har jag alltid gillat frames (och trivs med dem ännu) men har unvikit dem på senare tid p.g.a yttre påtryckningar som säger att det ska man inte ha. Du har missuppfattat hela nyttan med ajax, det handlar inte om att undvika laddningar av hela sidan, inte just nu iaf, utan det handlar om att t.ex. slippa skicka iväg ett helt formulär till servern för att validera det, eller att automatiskt hämta hem t.ex. användare i en viss grupp när du klickar på gruppen i en lista, etc. etc. Eller om du skriver en editor, då är det smart att bara ladda hem texten för den nya texten och inte allt annat. Eller en chat. Men inte själva sidorna som användare ser dem. Det ska inte vara några problem att länka saker... Det är inte jag som missuppfattat, utan i så fall artikelförfattaren till den texten jag läste. I den lyftes just argumentet "att del av sidan kan uppdateras utan att allt behöver laddas om" fram flera gånger så jag fick intrycket att det var det allra viktigaste. Därav min förundran över detta. :) > att del av sidan kan uppdateras utan att allt behöver laddas om Jag håller med Patrik om att AJAX ger tillgänglighetsproblem, precis som ramar. Tekniken bör användas sparsamt och gärna backas med traditionella tekniker. I mitt förra jobb fick jag anledning att använda AJAX en gång. Ett tal skulle uppdateras efter att val gjorts i ett par selectkontroller. Så i stället för att ladda om hela sidan, använde jag AJAX för att hämta talet. Men... Om AJAX inte funkade, använde jag ett traditionellt JavaScript för att ladda om sidan automatiskt när valet gjorts (onchange="..."). Och om JavaScript inte var tillgängligt, visades en särskild knapp för att ladda om sidan med de nya inställningarna. Patrik, tycker du inte själv att det är snyggare med ett objektorienterat ramverk som hämtar in data asynkront än ett antal gömda iframes? ;) Dessutom är det väl så att iframe inte fungerar i alla webbläsare. Gör inte AJAX heller iofs :) Visst med ajax kan säkerligen bättre lösningar göras i mer avancerade tillämpningar, men i vissa fall kanske det kan göras med en iframe lika bra. :) Ja, du menar väl att AJAX lite överhypat. Det är det ju. Vi har kunnat göra samma saker med iframes, vanliga dolda frames, eller remote scripting (MSIE) i bra många år nu. Du saknar rätt mycket kontroll när det gäller iframes; t.ex. det här med cross-site scripting. Eller felhanteringen.ajax vs frames ??
Argumenten ur tillgängligetssynpunkt mot användning av frame/iframe har väl varit att hela sidan ska uppdateras vid ett musklick då det annars kan missas av vissa användare att något hände på bara en del av sidan. Dessutom kan man inte lika lätt få en URL till en specifik undersida om inte hela innehållet laddats om.
Riktlinjerna inom 24-timmarswebben säger just att antingen ska frames undvikas eller om frames ändå används så ska hela ramverket laddas om vid en sidladdning. Utöver detta säger väl samma riktlinjer att en hemsida inte får göras beroende av JavaScript för att fungera (som väl AJAX då blir om jag förstår rätt eller?).
Kommer vi inte tillbaka till en liknande sak nu igen då?
Varför anses i så fall frames som något fult om detta med Ajax innebär något liknande?Sv: ajax vs frames ??
Sv:ajax vs frames ??
Men ändå funderar jag, sakerna påminner ändå mycket om varandra uppfattar jag det som...
Kombination javascript och iframe kan också lösa flera av de sakerna du nämner. En wysiwyg-editor med textmassan i en iframe och redigeringsknapparna separat har jag själv skapat och använt på det sättet. Där kan jag då läsa in annan text till iframen utan att behöva ladda om alltihop. På samma sätt har jag byggt en mappfunktion som i en iframe listar de poster som finns i kategorin man väljer i en lista bredvid. Validera formulär innan skickning har länge kunnat göras via vanligt javascript. Jag menar inte att det kanske är lika optimalt som ajax, men det låter ändå ganska likvärdigt eller?
Och som jag avslutade även förra inlägget, varför anses då frame/iframe som något "fult" att använda om ajax gör liknande uppgifter?Sv: ajax vs frames ??
Det beror helt på _vad_ som laddas från servern. Att t.ex. ladda en hel artikel för läsning är bara dumt då man ev. kan tänkas vilja länka till den...
> En wysiwyg-editor med textmassan i en iframe och redigeringsknapparna separat
Vettigt ändamål. Men skulle gå att göra bättre med ajax då du t.ex. skulle kunna ladda upp valda delar av texten/ladda ner valda delar om du t.ex. styckeindelar, kapitelindelar, stavningskontrollerar etc. Skulle bli en himla röra av frames och fulhackande om man inte kör ajax ;) Eller mycket bandbredd. Du arbetar dessutom med två olika sidor.
> På samma sätt har jag byggt en mappfunktion som i en iframe listar de poster som finns i kategorin man väljer i en lista bredvid.
Jepp, fast du har fortfarande vissa begränsningar. Du arbetar med två olika sidor. Du kanske inte har behovet nu, men tänk om du i ett infofält vill visa info om den post du har klickat på, hur löser du det med frames? Ytterligare problem kan vara just html/css-relaterade problem, orsakade av just, två sidor. Men det fungerar.
> Validera formulär innan skickning har länge kunnat göras via vanligt javascript.
Nja. Du kan t.ex. inte validera att användarnamnet inte redan finns. Det kan du göra med ajax. Eller att det faktiskt finns en postort som heter så. Eller så kan man snabbt och enkelt ha en autocomplete-lista när man ska söka efter någonting. Det kan du itne göra med enbart javascript.
> Och som jag avslutade även förra inlägget, varför anses då frame/iframe som något "fult" att använda om ajax gör liknande uppgifter?
Det är specialfall du nämner. Det fungerar. Men när man ratar frames så är det till 99% inte sådana här fall utan för att t.ex. ha en fast meny eller liknande. Å det ska man inte lösa med varken frames eller ajax.Sv: ajax vs frames ??
Sv: ajax vs frames ??
Pers implementation var ett bra exempel.
Eller tänk dig en mer avancerad AJAX-tillämpning
http://spreadsheets.google.com
Du skulle inte vilja bygga detta med IFRAMEs :)Sv:ajax vs frames ??
Att man därför inte enkelt ska utröpa alla lösningar med (i)frames som omodernt och skräp medan allt med ajax är coolt och jättebra, i vissa tidningsartiklar får man det intrycket tycker jag. För som precis med allt annat i världen beror det väl på hur och i vilket sammanhang det används.Sv: ajax vs frames ??
Sv:ajax vs frames ??
Ajax är en snygg lösning...