03. juni 2004 - 16:48Der er
20 kommentarer og 1 løsning
redirecte til side efter load+x antal sek. med php.
Hej Jeg har et galleri hvor jeg er i gang med at lave et slideshow, dette indebærer jo at jeg skal redirecte brugeren efter x sekunder, dette virker fint med header('refresh, 5 url=..') hvor jeg bruger en ob_start() og ob_end_flush() for ikke at få output før redirect'en er sat igang. men problemet er nu, at hvis brugeren sidder på en langsom forbindelse og vælger 2 sek vil han muligtvis ikke nå at se billedet før der redirectes. Så hvordan kan jeg uden brug af javascript give brugeren x antal sekunder efter hele siden er loaded?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
det tænkte jeg desværre nok, så bliver jeg nødt til at lave noget clientside hvis dette skal virke ordentligt, øv. Hvordan mon andre gallerier laver deres slideshows, med client- eller server-side, for det kan jo give et problem med serverside og langsomme forbindelser.
Ahh, der røg vi lige lidt videre end hvad jeg havde tænkt. Jeg har allerede lavet et helt galleri som genereres af php med thumbs og meget andet on the fly udfra et hieraki (www.koeleindustrien.dk/test/galleri.php), så det skal blot være en lille del af et større galleri. Jeg har bestemt mig for at lave det med onload og <noscript> meta-viderestilling for at få så mange som muligt med. Men tak for dit fine forslag i javascript, det kan bare ikke rigtigt bruges da mit galleri skal være så let at opdatere som muligt (uploade originale billeder til folder og intet andet). Hvis du ligger et svar får du point.
Må nok hellere nævne at galleriet ikke er færdigt, det grafiske mangler i da jeg endnu ikke har lavet css. Derudover over har jeg ikke tilpasset thumbs-genereringen, jeg vil lave kvadratiske thumbs. Stor og original virker heller ikke endnu. Navigation efter at have vist alle billeder er heller ikke på plads endnu, man kan stadigvæk kun browse igennem de billeder der er i den mappe, det skal ændres til at man kan browse igennem de thumbs man er henvist fra.
Jeg ved ikke om vi snakker lidt forbi hinanden. PHP scanner filtræet og genererer lister af billeder ud fra dette. Da jeg skal meget mere end bare lave et slideshow synes jeg ikke rigtigt det kan svare sig at lave arrayet i javascript, desuden vil jeg også helst undgå javascript så meget som muligt for at få flest mulige brugere med. På nuværende tidspunkt lader jeg php skrive kildekoden, php ved hvilket billede der er det næste, derfor har jeg ikke brug for javascript til at udvælge næste, jeg gør følgende: <?php echo "'onload-script'($nextUrl)"; ?> Jeg har ikke skrevet det præcist, men regner med du kan se hvad jeg mener. Hvis der er noget jeg har misforstået mht hvorfor det vil være smartere at lade javascript overtage en større del af opgaven, så må du meget gerne sige til.
Det kommer selvfølgelig helt an på hvordan du ellers har lavet det ...
-- men ideen i det jeg skriver ovenfor er, at du netop scanner dit filtræ med php og så overfører dem til javascript-databasen ...
-- grundideen er den, at du ved at få klienten til at udføre så meget af arbejdet som muligt, sparer din server for det tilsvarende arbejde, og samtidig nedsætter du mængden af data, som skal overføres med al den html-kode og de elementer som er på resten af siden !-)
-- og hvis det er essentielt, at alle skal kunne se alt, skal man selvfølgelig ikke bruge javascript, men så bør man også overveje om man har råd til at bruge billeder, da der er devices som ikke kan gengive dem ...
-- og hvis man kigger på de to forskellige statistik-sider, vil det netop fremgå, at små forskelle i publikum vil give ganske store udsving, f.eks. tæller Mozilla over 10 gange så meget på w3schools ...
-- hvorom alt er, kan du alene sikre, at dine brugere får fuldt udbytte af dine billeder, hvis du bruger javascript client-side, og jeg kan se, at jeg i mit forslag 17:27:20 har taget fat i det uden at tænke på lige at der skulle være et antal sekunders syn på hvert billede, men jeg ville der også bare præsentere ideen i den slags !-)
Jeg kan godt følge dig, men er nu ikke enig. Html-koden er meget lidt i forhold til billedet, så det vil jeg sige er ubetydeligt. De andre elementer på siden vil i langt de fleste tilfælde være gemt i cachen hos klienten, så det skal ikke overføres igen. Hele ideen med mit galleri er netop at brugerne skal se billederne, så hvis man sidder og browser via lynx eller anden tekstbaseret browser går jeg ikke ud fra man går ind og browser i gallerier. Det der klart må være mest krævende for serveren er at scanne mapperne efter billeder, resten er opslag i arrays og tilsvarende, så det man sparer ved at flytte visningen af billeder til clientside vil jeg mene er meget lidt. Som jeg ser det er 5% alligevel også mange at udelukke. Hvad mener du med at brugerne kun får fuldt udbytte at billederne hvis jeg bruger javascript client-side. Som jeg ser det er det eneste jeg strengt taget har brug for er at viderestille med javascript når dette er tilgængeligt, derved opnår jeg at få vist mine billeder i præcist det antal sekunder brugeren vil have.
Ja, til det sidste, var det også hvad jeg mente i den første sætning i det sidste afsnit !-)
-- og så skal du jo lige regne med, at de af dine brugere, som bruger ie i en nyere version (jeg mener det er fra v5.5) faktisk checker ethvert element ved hver visning, hvis der er brugt den indstilling, ar der skal kontrolleres ved hvert besøg på siden !o]
-- men under alle omstændigheder skal du jo lave det, så du fornemmer, at du giver dine brugere de bedste muligheder for at se det, som du har tænkt det !-)
Men checker IE ikke bare om der er kommet en ny version af elementet i mellemtiden og downloader kun hvis der er? Jeg kommer til at tænke på, at hvis jeg laver det med javascript så langt som muligt, så vil jeg jo ikke kunne linke direkte til et billede, dette vil jo være en stor ulempe. Men konklusionen er, at jeg bruger javascript til at starte nedtælling ved færdigloadning, så ja, jeg kommer ikke udenom det. Jeg har det bedst med at minimere brugen af javascript, ved ikke helt hvorfor, for jeg kan godt se det er smart til nogle ting (andre ting er det røvhamrende irreterende at det kan). Du må meget gerne give et svar, så får du nogle point.
1. Jo, men det tager næsten lige så lang tid, hvis det f.eks. er en lille knap-gif !-)
2. -- nu er jeg selvfølgelig ikke klar over i hvilke situationer, du vil linke direkte til et billede, men det kom jeg tilfældigvis til at vise i det jeg lagde -- showPic(this.src) ...
3. Lyder zq også godt nok !o]
-- men hvad er det, som er irriterende at javascript kan ?-)
1. Det er rigtigt, men jeg går da ud fra at IE så gør det lidt smart og sender samlet request i en tcp-pakke, det vil så stadigvæk være ekstra 1060 bytes der skal sendes og modtages.
2. Den er jeg ikke helt med på, men jeg vil f.eks skrive: domæne/galleri.php?dir=navn&pic=id og derved få vist et bestemt billede. Kunne man gøre noget lignende med javascript? Når galleriet er færdigt vil det have de funktionaliteter du kan se på linket og det eneste der skal gøres er at uploade billeder til en folder på webhotellet. Jeg kan ikke rigtigt se man kan løse dette tilfredsstillende med javascript uden at blande en helt masse php ind i det.
Jeg bryder mig ikke om når mit browservindue bliver resized. Jeg synes det er enormt irreterende at have et trail af tal med dags dato flyvende efter musepilen. I den dur er der ting jeg synes er irreterende. Sådanne ting er sikkert ligesom med blinkende skrift og flammer overalt, de forsvinder med tiden. Der er helt sikkert i mange tilfælde hvor sådanne ting er meget smarte at kunne i andre sammenhænge, men nogle bruger det bare forkert og dermed generende.
Det kan du sagtens, men hvis du f.eks. bruger php til i virkeligheden at sende forskellige størrelse billeder (altså resizede !-) kan javascript ikke være med, men opbyggelse af links m.m.m. er ikke det fjerneste problem ...
Men du har ret i, at læsningen af mappen kun kan ske på serveren !o]
Jeg bruger rent faktisk selv en resize på et popupvindue som galleriet er skruet sammmen lige nu. Derudover har jeg noget self.close on focus off. Det er meget avanceret og alting, men efter min mening er problemet med det, at folk ved ikke hvordan det opfører sig og bliver derfor forvirret når vinduet lukker af sig selv. Anden mulighed var så at lade være med at lukke vinduet, men så er der lige pludseligt 10 åbne vinduer. Tredje mulighed er at bruge samme popup, men så skal brugeren hele tiden skifte i mellem to vinduer. Derfor synes jeg at i mit galleri er det en bedre løsning at vise billedet i det originale browservindue med mulighed for navigation ved hvert billede. Man kunne selvfølgeligt også lave navigation i popup-vinduet, men så synes jeg ideen med et popup vindue her går lidt af.
Det er helt klart som du siger, der er ingen grund til at fjerne funktionalitet fordi det kan misbruges af nogle som satser andre steder mht brugervenlighed. Nogle synes jo det er totalt fedt med en trailt af hjerter, bolde eller lign. efter musen. Jeg har heller ikke selv slået javascript fra, det ville betyde jeg gik glip af for meget positiv funktionalitet synes jeg. Til gengæld gør mange sider i dag brug af javascript hvor det faktisk ikke er strengt nødvendigt, f.eks en foldeudmenu, det kan jo lige så fint laves med css. Lige så snart man bevæger sig ud i gråzonen af hjemmesider (hacks og cracks sider f.eks), så bliver fordelene ved javascript pludseligt vendt. Så det afhænger meget af siderne man ser synes jeg.
Jo, enigheden breder sig vel, men jeg har nu på fornemmelsen at vores grundholdninger mht brug af javascript på egne sider er forskellig, men sådan er det jo, forskellige mennesker forskellige preferencer.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.