Avatar billede gobbles Nybegynder
28. februar 2005 - 15:45 Der er 5 kommentarer og
1 løsning

en refresh function i flash?

Hej jeg har lavet et lille spil og en php/mysql der kører highscoren..

Jeg bruger et load object til at hente dataene fra php..

_root.skemaVars = new LoadVars();
_root.skemaVars.load("data.php");
_root.skemaVars.onLoad = function(success) {
    if (success) {
her tegner jeg så tabeller osv....
       
    } else {
        trace("Det bare noget lort!");
    }
};

mit problem er nu at highscoren ikke opdaterer før man har lukket browseren ned og åbnet siden igen...
Jeg har min load action placeret på en frame man kommer til når spillet er slut.. så den burde køre load scriptet hver gang spillet er over.. men browseren er snedig og husker bare den gamle og bruger denne... så man kan ikke se sin highscore med det samme..
Hvordan tvinger jeg den til at tjekke om der er en nyere version af highscoren..og bruge denne..
Avatar billede kragekjaer Praktikant
28. februar 2005 - 16:44 #1
du sætter bare en dummyvariabel der ændrer sig hele tiden ind
minDum=getDate();
_root.skemaVars.load("data.php?minVar="+minDum);
Avatar billede barklund Nybegynder
28. februar 2005 - 17:12 #2
Eller gør én af følgende ting:

1) Bruger en ordentlig browser, der kan finde ud af at spørge serveren pænt, om den cachede fil er i orden, for eksempel Firefox eller Opera, eller

2) Indstiller din Internet Explorer korrekt, så den spørger om nye filer hver gang - men henter kun en ny fil, hvis der er nyt. Dette gør du via Tools->Options->Settings->Every visit to the page.

3) Alternativt, hvis du synes at alle brugere uanset om der er kommet en ny fil eller ej altid skal bruge unødig båndbredde på at hente den nye fil, så kan du bruge et dummyvariabel, så filen altid "ser" ny ud.

Men sidstnævnte er altså en rigtig irriterende løsning!

--
Morten Barklund
Avatar billede gobbles Nybegynder
28. februar 2005 - 19:15 #3
tak men jeg får nok ikke mange besøgende hvis jeg skriver på siden at folk først skal installere en ny browser....

ok det ser vel ud til jeg må krybe til korset og bruge den irriterende løsning.. det er dog kun en eller 2 linier jeg skal hente ind igen... så det går nok..
Folk finder det bare irriterende ikke at kunne se deres highscore før næste gang de besøger siden.. og de fleste tror fejlagtigt at den ikke er blevet submittet- og det er næsten værre

Tak begge to..
Avatar billede kragekjaer Praktikant
28. februar 2005 - 19:22 #4
ja, du kan ikke komme uden om min løsning, idet du ikke kan regne med at alle har indstillet deres browser til at tømme cachen ved hvert besøg.

Ved ikke hvor irriterende løsningen er, der er jo trods alt tale om nye data der skal hentes, og de kommer jo ikke af sig selv.
Avatar billede kragekjaer Praktikant
28. februar 2005 - 19:23 #5
husk at min løsning ikke virker når du sidder og tester lokalt uden server
Avatar billede barklund Nybegynder
01. marts 2005 - 09:10 #6
kragekjaer, jeg snakker ikke om at alle skal tømme cachen ved hvert besøg. Jeg snakker om, at de skal have en cache, der opfører sig ordentligt.

Browseren skal ikke bare gå ud fra, at den cachede er lige så god som den på serveren og så bare ikke gøre mere - den skal derimod hver gang spørge serveren, om der er kommet en ny version siden XXXX, og så kan serveren svare den nye version (hvis den er der) eller sige "niks, din version er fin nok".

Sådan opfører ordentlige browsere sig som standard, men IE gør det kun, hvis man indstiller den til det (som forklaret ovenfor). Og det er irriterende, da det gør, at stort set alle brugere har møg-cache-indstillinger!

--
Morten Barklund
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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