27. januar 2006 - 13:29Der 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.
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
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...
Hej, Jeg kender navnet og det vil ikke blive ændret undervejs.
MVH Henrik
Synes godt om
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...
OK - det prøver jeg af. - Men der skal vel være en form for "timer", der trigger det check?
Synes godt om
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...
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
Synes godt om
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))
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.
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.