mboost-dp1

Nyt: Ajax gallerier..


Gå til bund
Gravatar #1 - Mandalae
13. mar. 2009 18:14
Hey,

Jeg har lige brugt de sidste par dage på at pille lidt ved vores gallerier.

Det betyder at de nu kører Ajax, dvs at man ikke skal reloade hele siden hver gang man skifter billede. Dette er indført med forhåbninger om at folk vil tage dem til sig og bruge det mere, det er i hvert fald blevet meget mere lækkert at bruge.

Spørgsmål og kommentarer er som sædvanlig velkomne :)

Enjoy :)
Gravatar #2 - IT-ekspert Kejser
13. mar. 2009 21:44
Nice.. :D!

Edit:

Hvis man klikker på et billed i et galleri og får det vist på hele skærmen så reloader den hele siden hvis man klikker på næste?
Gravatar #3 - Windcape
14. mar. 2009 16:02
Siger du at du laver et XmlHttpRequest bare for at sætte src parameteret på et Image object?

Eller failer du med overhyped bloat words igen? :p
Gravatar #4 - Mandalae
14. mar. 2009 18:00
#3,

Jeg går ikke ud fra det er nødvendigt at skære ud i pap præcis hvordan funktionen fungerer, men hvis du ikke forstår hvad jeg siger kan jeg vel godt gøre det?

Kan du ikke bare være tilfreds med at gallerierne virker bedre?
Gravatar #5 - PazO
14. mar. 2009 18:38
#4
Jeg oplever en fejl nå jeg klikker på næste; den skifter til et tomt billede hver anden gang. Dvs. jeg kan klikke på næste 6 gange når der kun er tre billeder.

Forresten bruger jeg den nyeste firefox på linux.

Edit: Det lader til at problemet kun opstår i "Spil:Museet".
Gravatar #6 - Niklas H
14. mar. 2009 19:59
mandalae (4) skrev:
#3,

Jeg går ikke ud fra det er nødvendigt at skære ud i pap præcis hvordan funktionen fungerer, men hvis du ikke forstår hvad jeg siger kan jeg vel godt gøre det?

Kan du ikke bare være tilfreds med at gallerierne virker bedre?


Tror det han vil gøre opmærksom på at AJAX står for Asynchronous JavaScript and XML / Asynkront Javascript og XML. Så hvis du ikke bruger XML i det her, så er det ikke AJAX :)

AJAX uden XML er AHAH. Asynchronous HTML and HTTP
Gravatar #7 - amokk
14. mar. 2009 21:05
#4 lad mig gætte på at kundekontakt mv. ikke er din stærkeste side?

"Kan du ikke bare være tilfreds med at gallerierne virker bedre?"

Det kunne også bare være at manden rent faktisk kom med en konstruktiv tilbagemelding... Nu har jeg ikke set hvordan JS koden rent faktisk er lavet på det nye galleri, men hans kommentar kan forstås som én af disse:

* Det er direkte dumt at kalde det AJAX hvis man ikke benytter sig at AJAX - det viser bare at man ikke ved hvad man taler om... Dynamisk HTML har eksisteret i over 10 år...

* HVIS der benyttes AJAX, er dette måske en overflødig løsning, da man jo ikke har brug for at få nye data ind on the fly, men bare have en liste med billeders URL, beskrivelser, størrelser osv. og dermed kan man bare trække de data man har brug for, ud af den når der skiftes til næste billede - ingen grund til at belaste serveren med data om næste billede, når man kan hive alle dataene på én gang når galleriet loades...
Gravatar #8 - Mandalae
14. mar. 2009 22:49
PazO (5) skrev:
Jeg oplever en fejl nå jeg klikker på næste; den skifter til et tomt billede hver anden gang. Dvs. jeg kan klikke på næste 6 gange når der kun er tre billeder


Jeg tror det er fordi billederne bare mangler, jeg får lige nogen til at kigge på det :)
Gravatar #9 - Mandalae
14. mar. 2009 22:52
#6,

Jeg benytter XML i mit request så derfor AJAX.

#7,

Jeg er godt klar over der er flere løsninger på "problemet", men jeg har valgt den jeg føler er den bedste og mest elegante.

Jeg ved udemærket hvad jeg snakker om, men du skal da være velkommen til at skrive et galleri til os som virker bedre :)

Gravatar #10 - The-Lone-Gunman
14. mar. 2009 22:54
Hvorfor gør den det ikke når man ser billederne i stor størrelse?
Gravatar #11 - Mandalae
14. mar. 2009 22:56
#2, #10,

Vi har med vilje fravalgt det i stor størrelse, fordi der alligevel ikke er andet på siden end billedet, så gevinsten ville være ret lille :)
Gravatar #12 - IT-ekspert Kejser
14. mar. 2009 23:22
#11

Okay det fjerner bare lidt af flowet med et trinløst galleri - men det er bare min vurdering.. :)
Gravatar #13 - Mandalae
14. mar. 2009 23:27
#12,

Jah, men det er fordi det er tænkt til at det store galleri bare er hvis man vil se nærmere på et billede. Det er selvfølgelig ikke optimalt hvis man vil se nærmere på alle billederne :p
Gravatar #14 - IT-ekspert Kejser
15. mar. 2009 01:24
#13

Kan selvfølgelig kun svare for mig selv, men en billedserie - f.eks. til et computerspil - vil jeg da gerne kunne se i fuld størrelse uden at skulle loade hele siden igen. :)
Gravatar #15 - Mandalae
15. mar. 2009 12:10
#14,

Jeg fixer det lige en af dagene :)
Gravatar #16 - amokk
15. mar. 2009 15:02
#9
"Jeg er godt klar over der er flere løsninger på "problemet", men jeg har valgt den jeg føler er den bedste og mest elegante."

Hvorfor er det mere elegant at hive data ind hver gang en bruger klikker sig videre, end det er at have listen af data til rådighed så snart et galleri åbnes? Det er jo spild af ressourcer, ikke at hive de nødvendige data for at lave galleriet, ind med det samme, når man nu ved at de er til rådighed...

"Jeg ved udemærket hvad jeg snakker om, men du skal da være velkommen til at skrive et galleri til os som virker bedre :)"

Jeg kommer sådan set bare med noget konstruktiv feedback, som jeg da håber du kan tage til dig og bruge til noget?
Gravatar #17 - sissy
15. mar. 2009 16:04
Vi kan vel være ligeglade med hvor besværligt det har været at lave og om det kunne have været lavet så meget nemmere
Hvis det virker er alt andet vel lige meget??
Eller er det bare mig der har det sådan?..
Gravatar #18 - Mandalae
15. mar. 2009 20:29
amokk (16) skrev:
Jeg kommer sådan set bare med noget konstruktiv feedback, som jeg da håber du kan tage til dig og bruge til noget?


Du har selvfølgelig ret, det har bare været en lang weekend, så den nedladende tone i windcapes indlæg var lige for meget. Jeg beklager.

Lige nu er det lavet så den laver et get request, som bliver cachet i vores varnish server, det vil sige at det ikke er ret meget mere krævende for serverne den ene eller den anden vej rundt og jeg er ikke rigtig i humør til at lave det om lige nu.

På sigt måske, når vi har behov for at optimere et eller andet :)
Gravatar #19 - Mandalae
15. mar. 2009 20:29
Hr. Kejser (14) skrev:
Kan selvfølgelig kun svare for mig selv, men en billedserie - f.eks. til et computerspil - vil jeg da gerne kunne se i fuld størrelse uden at skulle loade hele siden igen. :)


Det er også lavet på den store udgave af galleriet nu :)
Gravatar #20 - milandt
15. mar. 2009 21:01
Jeg ved ikke hvordan det virkede før, men det ser pt. ud til når jeg har firebug kørende at der laves et request hvert 10. sekund (ca) til samme billede - altså at galleriet reloader det valgte billede hvert 10. sekund?

I øvrigt mener jeg også at AJAX er overkill hvis det eneste man skal er at hente et nyt billede? Kan se der i XML'en også er noget description og title, men kunne ikke lige se hvor og om det evt. bruges.
Gravatar #21 - Windcape
15. mar. 2009 22:56
<script>
function openLarge(src)
{
$("largeimg").src = src;
}
</script>

<img onclick="openLarge($large)" src="$small">


pew pew? ingen extra htmlrequests til at belaste serveren, og ingen xml.

Og #3 var lidt ment som en joke, da jeg ikke kunne forestille mig nogen kode så dårligt at de ville lave extra HttpRequests bare for at ændre indholdet af et billede.
Gravatar #22 - hmn
16. mar. 2009 07:55
#20 det har ikke noget med billedet at gøre, det er kaldet for at se om der er kommet nye tråde

#21 nej det er bare ikke løsningen, da der også skal opdateres en masse metadata
Gravatar #23 - Acro
16. mar. 2009 08:27
Det er på ingen måde umuligt - heller ikke med overførsel af metadata. Lightbox fungerer efter det princip, Windcape nævner. <a/> har jo understøttelse for en title-attribut, ligesom <img/> har for både alt- og title-attributter. Der vil derfor være rig mulighed for at nøjes med indlæse billeder (og kommentarer) fra serveren.
Gravatar #24 - Mandalae
16. mar. 2009 09:49
#21, #23,

Hvis I lige kigger XML'en jeg hiver ud når man skifter billede vil I se at det ikke er så simpelt som bare at skifte src eller beskrivelse, der skal en del info til.

Det kan godt lade sig gøre, men det skal laves helt om og bruge et JS array, så som jeg skrev i #18, bliver det ikke lige nu da det ikke er et stort problem for serveren at håndtere de requests der bliver lavet.
Gravatar #25 - Acro
16. mar. 2009 11:51
Der modtages ingen data via feedet, der ikke kan overføres semantisk i HTML'en. Fx er det unødvendigt at angive det forrige og det næste billede i rækkefølgen, da denne information allerede kan trækkes ud af DOM'en.

Hvad er det, du behøver et JavaScript-array for at implementere?
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login