Avatar billede roz Nybegynder
02. december 2006 - 16:20 Der er 6 kommentarer og
1 løsning

Shoutboks skal skifte

Hejsa.
Arbejder på et projekt hvor jeg lige har lavet en SMS shoutboks. Dette virker ved at dataene der skal vises ligger gemt i en db. Nu vil jeg gerne at denne boks skal skifte mellem de forskellige records i db'en eks hvert 10 sekund. Dette skulle helst foregå uden "blinken" og "klikken" hvilket vil sige helst uden meta-refresh.

Som jeg ser det er der 2 måder at lave dette på:
Alle data fra tabellen hentes, JS skifter mellem disse hvert 10 sekund + der udføres et uodate query hvert 10 sekund.

eller:
Hvert 10 sekund udføres der et query til tabellen og den nye data vises i shoutboksen.

Har på fornemmelsen at løsning nummer 2 bliver for krævende når der er mange brugere på men vil godt lige høre jeres meninger alligevel.

Og samtidigt ved jeg ikke hvordan man med JS kan skifte mellem records. Derfor spørger jeg efter Pseudo kode til det hele + ægte JS der skal bruges.

200 point og masser af taknemmelighed til dem der hjælper :)
Avatar billede thesurfer Nybegynder
02. december 2006 - 18:55 #1
Det kan gøres på flere måder..

1) Reload iframen som shoutboksen består af

2) Du bruger en div til shoutbox, og en skjult iframe der opdateres hvert 10. sekund. Siden i iframen sender strengen til parent (siden der indeholder iframen og div), som så opdater div

3) Brug AJAX (JavaScript + XML) til at hente og opdatere div

Der er sikkert flere måder at gøre det på.. men det er lige hvad jeg kunne komme i tanke om lige nu..

Jeg kan muligvis kigge på det lidt senere i aften..
Avatar billede roz Nybegynder
02. december 2006 - 21:41 #2
Okay. Hvilke af mulighederne kan fungere uden at klikket fra en opdatering fremkommer?
Avatar billede thesurfer Nybegynder
02. december 2006 - 23:07 #3
For at undgå klik-lyden, bruge man bare: window.location.reload(true)

Eksempel:

<script type="text/JavaScript" language="JavaScript">
setTimeout("window.location.reload(true)", 1000 * 10); // 10 sekunder
</script>

<noscript>
Denne shoutbox benytter JavaScript til opdateringen.<br>
JavaScript er slået fra i din browser, så shoutbox'en kan ikke vises korrekt.
</noscript>
Avatar billede roz Nybegynder
03. december 2006 - 12:08 #4
Mmm hvordan får jeg ovenstående kode til at virke med en iframe? Virker ikke bare at smide det ind i iframen sådan her:

<script type="text/JavaScript" language="JavaScript">
window.setTimeout("window.location.reload(true)", 1000 * 10); // 10 sekunder
</script>
Avatar billede thesurfer Nybegynder
03. december 2006 - 22:30 #5
Koden skal være i filen, der loades i iframen.. så skulle iframen gerne reloade efter 10 sekunder..

Gør den ikke det?
Avatar billede roz Nybegynder
09. december 2006 - 01:54 #6
Jo så gør den :) Smid et svar
Avatar billede thesurfer Nybegynder
09. december 2006 - 23:03 #7
Her er et svar :-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester