Avatar billede wolfgang Praktikant
27. januar 2006 - 13:29 Der er 10 kommentarer og
1 løsning

Opdater webside hvis specifik fil er ændret

Hej,
Hvordan skal jeg gribe dette an?

På en skærm vises en webside, med en flash-fil (swf). Indholdet af denne kan blive opdateret hvornår som helst og man kan derfor ikke planlægge nogen faste opdateringsrutiner på forhånd.

Kan man i det "skjulte" tjekke om filen er opdateret siden den blev hentet sidst? Her tænker jeg på at tjekke ca. hvert 5. min.
- Man kunne vel evt. tjekke og sammenligne på filens dato?

Hvis den er blevet opdateret skal siden naturligvis opdateres.

Glæder mig til at læse jeres foreslag.

MVH
Henrik
Avatar billede Slettet bruger
27. januar 2006 - 13:42 #1
Hej

- Umiddelbart vil jeg foreslå at du putter en unik querystring på det element som henter flashfilen i din html. Så vil filen formentlig blive hentet på ny hver gang en bruger går ind på siden...

- Ellers skal vi have fat i noget FSO, for at se hvor gammel filen er...

\Dan
Avatar billede wolfgang Praktikant
27. januar 2006 - 13:46 #2
Websiden bliver fremvist på en form for infoskærm, derfor er der ikke nogen aktiv bruger.
- Et check via FSO lyder som det rigtige.

Men hvordan sammenligner jeg bedst den eksisterende med den evt. nyere - og derefter reloader siden?
Avatar billede Slettet bruger
27. januar 2006 - 13:59 #3
Hejsa...

Du skal vide hvad filen hedder, og hedder den for øvrigt altid det samme?

\Dan
Avatar billede wolfgang Praktikant
27. januar 2006 - 14:01 #4
Hej, Jeg kender navnet og det vil ikke blive ændret undervejs.

MVH
Henrik
Avatar billede Slettet bruger
27. januar 2006 - 14:02 #5
Prøv at se her:
http://www.w3schools.com/asp/met_getfile.asp
Her er der et FSO-script som kan se hvornår filen sidst er blevet ændret...
Så er det vel bare at lave en "DataDiff" funktion derpå og så hvis den er større end 5 minutter så skal siden refreshes...

\Dan
Avatar billede wolfgang Praktikant
27. januar 2006 - 14:04 #6
OK - det prøver jeg af.
- Men der skal vel være en form for "timer", der trigger det check?
Avatar billede Slettet bruger
27. januar 2006 - 14:09 #7
OK...
Så kan du vel bare lave noget i din header som ligner det her:
<%
dim fs,f
set fs=Server.CreateObject("Scripting.FileSystemObject")
set f=fs.GetFile("c:\test\DinFil.swf")
LastM f.DateLastModified
set f=nothing
set fs=nothing
LastM = cdate(LastM)
LastMD = DateDiff("n",LastM,Now())
if LastMD>5 then
%>
Siden skal refreshes
<%end if%>

Du skal selvfølgelig lige ændre filnavnet til det det skal være...

\Dan
Avatar billede wolfgang Praktikant
27. januar 2006 - 14:34 #8
Hej Dan,
Jeg har nu testet koden eksemplet af.

Resultatet er at Browseren opdaterer sig selv hele tiden (klik-klik-klik :D)

Hvis jeg udskriver variablerne LastM & LastMD er resultatet:
LastM = 1/25/2006 13:39:20
LastMD = 2935

Hvad kan fejlen skyldes?
Avatar billede wolfgang Praktikant
27. januar 2006 - 14:36 #9
OBS: Jeg har lagt mit opdaterings-check i en iframe.

Kode:
dim fs,f
set fs=Server.CreateObject("Scripting.FileSystemObject")
set f=fs.GetFile("c:\infoScreen1.swf")
LastM = f.DateLastModified
set f=nothing
set fs=nothing
LastM = cdate(LastM)
LastMD = DateDiff("n",LastM,Now())

if LastMD>5 then

response.write "<script>top.document.location.reload();</script>"
end if
Avatar billede Slettet bruger
27. januar 2006 - 15:36 #10
ok... Jeg tror det måske er fordi den viser det som en amerikansk tid... Altså 1/25/2006...
Prøv at ændre:
LastM = cdate(LastM)
- til -
LastM = cdate(day(LastM) & "/" & month(LastM) & "/" & year(LastM) & " " & hour(LastM) & ":" & minute(LastM) & ":" & second(LastM))

\Dan
Avatar billede wolfgang Praktikant
07. februar 2006 - 14:13 #11
Da ingen af ovenstående løsninger har virker haft den ønskede effekt, lukker jeg dette spørgsmål.

Jeg vil herefter oprette et nyt og der forsøge at formulere min udfordring endnu bedre.
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
Kurser inden for grundlæggende programmering

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