Avatar billede drinkit Praktikant
25. maj 2004 - 19:28 Der er 26 kommentarer og
1 løsning

opdatering uden klik og blink!

Har set 1000 spørgsmål med denne titel, og de er alle ens, men guys, læs nu lige det hele her, inden i lukker dette spm ned :)

som de fleste nok ved, så er der to måder at opdatere en side på, i JS.. den ene er:
location.reload(true);
den anden:
location.href='side.htm';

Den første, altså location.reload(true);
Den blinker forfærdelig meget.
Hvorimod den anden, altså location.href='side.htm';
Den laver den der irriterende "KLIK" lyd, i IE.

Mit spm lyder:
Kan man ikke kombinere det bedste fra de to "scripts", og dermed lave en opdatering som hverken klikker eller blinker?
Avatar billede mr_bacardi Nybegynder
25. maj 2004 - 19:33 #1
Du smider
location.reload();
i en skjult frame og sender beskederne over til siden de skal vises med insertAdjacentHTML()
Så kan man ikke se den blinker og man kan ikke høre den opdaterer.

En anden ting er at det generelt er dårligt med konstant reload, trafikken bliver enorm, folks computere bliver overbelastet, det kan ses i top baren (det kan ikke undgås med nogen af dem), serveren bliver overbelastet etc.
En anden løsning findes, men vil jeg ikke fortælle om her.
Avatar billede thb Nybegynder
25. maj 2004 - 20:46 #2
mr barcadi > Hvor fortæller du så om den... :)
Avatar billede drinkit Praktikant
25. maj 2004 - 20:47 #3
hehe, et godt spm.
Avatar billede mr_bacardi Nybegynder
25. maj 2004 - 20:48 #4
For at folk ved de godt kan undersøge sagen nærmere ;)
Der findes mange andre løsninger, men det kommer også an på hvad server delen er programmeret i, i dette tilfælde ved jeg det er PHP men da der sikkert også findes en ASP vil jeg ikke komme nærmere ind på det, kun gøre folk opmærksom på det altså er en mindre god løsning
Avatar billede drinkit Praktikant
25. maj 2004 - 20:48 #5
Tror han vil hen i noget innerHTML.. men det har ikke hjemme i dette spm, da jeg bare vil vide om man kan lave et update script som hverken klikker eller blinker :)
Avatar billede roenving Novice
25. maj 2004 - 21:16 #6
Du henviser til alle de andre spørgsmål, så du har altså forkastet ideen om den skjulte iframe, som laver en location.reload(true) og så ved hjælp af noget kald til modersiden eller en anden frame opdaterer noget tekst f.eks. via innerHTML ?-)

-- og når en ny side skal ind i browser-vinduet vil der altid komme et blink, måske oplever du det som mindre, når du sætter en ny location, men for browseren er det altså det samme, som sker visuelt: Alle hidtige pixels værdi slettes, og der skrives nogle nye værdier til de pixels !-)
Avatar billede drinkit Praktikant
25. maj 2004 - 22:17 #7
efter at have forsøgt at få det til at virke i snart en måned, med hjælp fra forskellige mennesker, f.eks mr_bacardi her, så har jeg opgivet innerHTML - Og vil nu finde en løsning som er mindre avanceret, men som så desværre tager hårdere på serveren samt brugerens computer.
Jeg er nået til det punkt i mine overvejelser, hvor det dårligste er godt nok :)
Avatar billede drinkit Praktikant
25. maj 2004 - 22:18 #8
Jeg bliver også nødt til at avise mr_bacardis svar, da det ikke var det svar jeg ledte efter!
Avatar billede roenving Novice
25. maj 2004 - 22:23 #9
Hvad er det for en type opdatering, du skal have fat i ?-)

mr_bacardi skriver noget om billeder, derfor var jeg noget tilbageholdende i min kommentar, men det er faktisk ret nødvendigt at vide, for der kan være mange problemer med innerHTML, hvis det indeholder andet end ren tekst ...
Avatar billede drinkit Praktikant
25. maj 2004 - 22:48 #10
Kan ikke lige se at mr bacardi skriver noget om billeder, men jeg skal bruge en opdatering som hverken blinker eller klikker, og jeg begynder at fornemme at det ikke kan lade sig gøre!?
Avatar billede roenving Novice
25. maj 2004 - 22:55 #11
Undskyld, jeg havde ikke læst ordentligt ...

Men du kan jo kigge på den opdatering af en iframe, som ligger lige her nede til venstre, den blinker jo hvert 5. sekund !-)
Avatar billede mr_bacardi Nybegynder
25. maj 2004 - 23:20 #12
Min løsning indeholder kort forklaring på hvordan du kan gøre det, plus lidt ekstra, men jeg er da ligeglad med om du accepterer det eller ej, var kun herinde fordi du gav mig linket ;)
Anyways så virker det altså fint og det kan sagtens lade sig gøre, et andet godt eksempel på chat der ikke blinker eller klikker er min egen:
www.chatisland.dk
Hvor jeg har en PHP  og JavaScript / DHTML løsning, som er bygget ud fra mine erfaringer, grundig søgning på google.com og meget læsning på php.net
Ergo kan I andre, som kommer forbi, roligt prøve at lave det jeg beskriver, et generelt godt råd er at benytte google.com til at finde oplysninger om (JavaScript) funktioner.
Avatar billede roenving Novice
25. maj 2004 - 23:24 #13
Såvidt jeg ved bygger olebole-chatten (http://www.tjenester.dk/x-codes.dk/eksperten/chat/) også på præcis den type løsning (se også http://www.eksperten.dk/spm/320350 hvor den udvikles !-)
Avatar billede olebole Juniormester
26. maj 2004 - 01:20 #14
... og naturligvis bør man ikke bruge insertAdjacentHTML(), da det er en proprietær MS-metode, der ikke hører til nogen standard for web- eller anden scripting
Avatar billede olebole Juniormester
26. maj 2004 - 01:25 #15
Ooops ... mit første indlæg røg vist i lokummet  :D
Vi prøver igen:
roenving >> Nej, mit chat-skelet bruger ikke reload(). Jeg har længe ville lave en ny version - og har også en liggende - men har ikke haft tid til at dokumentere den. Den gamle blev til i løbet af en aften, så den er ikke videre 'afpudset'  :)

mr_bacardi >> Jeg har lidt svært ved at finde det revolutionerende i din chat - bortset fra fraværet af valid kode. Dét er til gengæld yderst overbevisende og gennemført.
Avatar billede mr_bacardi Nybegynder
26. maj 2004 - 06:50 #16
Jeg er klar over den ifølge sourcecoden og dokumentationer kun er kompitabel med IE, hvilket også kun var hensigten i starten, men jeg har erfaret den faktisk virker i mange andre browsere også.
Det har også altid været min opfattelse at "valid kode" er noget nogen går op i, andre gør ikke, jeg gør det ikke da jeg ikke kan se en grund til en anden side skal kunne læse den og fortælle mig om den er "korrekt" lavet. Jeg kan jo selv se om den virker.
Revolutionerende - det har jeg heller ikke sagt den er, i hvert fald ikke kodningen, men metoden jeg bruger med PHP (Som man jo ikke kan se i HTML "kildekoden") er yderst nyttig hvis man ikke vil benytte uddøende ting, som fx Java eller Flash.
Avatar billede drinkit Praktikant
26. maj 2004 - 11:36 #17
Fremfor at bruge insertAdjacentHTML(), kunne man så ikke bruge innerHTML? Det virker vel i alle browsere (stort set) ?
Avatar billede drinkit Praktikant
26. maj 2004 - 11:40 #18
roenving -> Ved ikke om det er min computer / browser der er meget anderledes end andres, men når jeg bruger IE6 så blinker det betydeligt mindre med location.href end med location.reload ...
Avatar billede drinkit Praktikant
26. maj 2004 - 11:52 #19
roenving -> "Men du kan jo kigge på den opdatering af en iframe, som ligger lige her nede til venstre, den blinker jo hvert 5. sekund !-)" - Den forstod jeg ikke helt, hvilken opdatering af iframe, her nede til venstre ?
Avatar billede roenving Novice
26. maj 2004 - 14:20 #20
0 nye indlæg ...
Avatar billede olebole Juniormester
26. maj 2004 - 19:13 #21
mr_bacardi >> Netop det, at din kode er så invalid, gør, at kildekoden er utrolig let at få fat i - og så er det jo spild af tid, du har slået alle de kolbøtter for at prøve at gemme den.
Hvad det er for 'mange andre browsere', du mener den virker i, ved jeg ikke. I Mozilla/Netscape virker den ikke - og Opera går ned ... så deeeeet .....  :)

Jeg forstå ikke, hvad du mener med at 'en anden side skal kunne læse den og fortælle mig om den er "korrekt" lavet'. Hvis du mener W3C's validator, så behøver du jo ikke bruge den, forudsat du kan skrive HTML - og det er der intet, der tyder på i chatten.

Med mindre du patch'er din web-server med en special-skrevet udvidelse, kan du ikke lave push-teknologi via HTTP-protokollen, hvorfor klienten er nødt til at forespørge på serveren, om der er nye data.
Man kan sætte PHP til at 'sove' med sleep(), men det er _langt_ dårligere performende end løbende forespørgsler til serveren, så det er en rigtig dårlig løsning  :)
Avatar billede drinkit Praktikant
26. maj 2004 - 20:10 #22
Muharhaha, giver ole helt ret :D
Avatar billede mr_bacardi Nybegynder
26. maj 2004 - 22:30 #23
Gør jeg nu min kildekode svær at få fat på? - Det eneste af min kildekode jeg vil skjule, er min PHP kode, hvilket man ikke kan få fat på...
Og kan ikke huske hvilke andre browsere det er, men har snakket med flere på min chat som sagde de ikke benyttede IE.

Nå men synes vi bliver lidt for off-topic, og det er bare den ene beskyldning efter den anden som kommer.
Er ude af spørgsmålet...
Avatar billede drinkit Praktikant
07. juni 2004 - 19:18 #24
en eller anden smid et svar..
Avatar billede roenving Novice
07. juni 2004 - 19:28 #25
Fik du da noget ud af det ?-)
Avatar billede drinkit Praktikant
07. juni 2004 - 20:00 #26
ja ? why spørger du.. :) jeg får noget ud af alt!
Avatar billede drinkit Praktikant
07. juni 2004 - 20:44 #27
lukket
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