01. april 2006 - 17:10Der er
12 kommentarer og 2 løsninger
Reload 80 sek efter billedet er modificeret.
Jeg mangler noget asp som kan tjekke hvornår et billede er redigeret, og så tage den tid og lægge 80 sek til.
F.eks hvis billedet er redigeret kl 00:00:00 så skal siden reloade 80 sek efter, kl 00:01:20
Billedet bliver redigeret hvert 60 sek, men for at være sikker på at alt er blevet uploadet før reload så vil jeg have at den skal reloade siden 80 sek efter det er oprettet.
Ja, men det er jo ikke i forhold til filen, det er bare i forhold til hvornår man åbnede siden.
Formålet med det jeg vil have er at hvis billedet nu opdaterer f.eks 40 sek efter at man er gået ind på siden, så skal man ikke vente de 80 sek, så skal man jo kun vente 40 + 20 sek = 60 sek før at den skal reloade, og derved få sidste nye billede frem.
<body> <% Set fso = Server.CreateObject("Scripting.FileSystemObject") Set Root = fso.getfolder("c:\inetpub\wwwroot\billeder") 'her hentes en mappe
Set Files = Root.Files
For Each File In Files Set f1 = fso.GetFile("c:\inetpub\wwwroot\billeder\" & File.Name) 'her hentes et enkelt billed LastModified = f1.DateLastModified
opret filen test.asp 'denne henter hvornår billedet har været ændret hvert 15 sekund er det ændre så indlæses test_2 igen og session("LastModified") får en ny værdi
Set fso = Server.CreateObject("Scripting.FileSystemObject") Set Root = fso.getfolder("c:\inetpub\wwwroot\billeder") 'her hentes en mappe
Set Files = Root.Files
For Each File In Files Set f1 = fso.GetFile("c:\inetpub\wwwroot\billeder\" & File.Name) 'her hentes et enkelt billed LastModified2 = f1.DateLastModified
Next
CurTime = FormatDateTime(Now,0)
NewTime = DateAdd("s",10,CurTime) if LastModified2 <> session("LastModified") then
Hvorfor skulle den da reloade konstant? Den skal reloade 1 gang hvert 80. sek, intet andet.
Jeg har ikke prøvet dit eksempel, da det ser ud til at der skal bruges iframes, og flere filer, jeg skal bruge noget som kun bliver afviklet i en fil. Ved ikke om du er klar over hvad det er jeg ønsker? Har jeg ikke forklaret det rigtigt?
Den skal bare tage tiden efter hvornår filen er redigeret, og så få siden til at reloade 80 sek efter den tid.
men så skal du vel bare kigge lidt nærmere på det og evt. lægge det således:::
<%
Set fso = Server.CreateObject("Scripting.FileSystemObject") Set Root = fso.getfolder("c:\inetpub\wwwroot\billeder") 'her hentes en mappe
Set Files = Root.Files
For Each File In Files Set f1 = fso.GetFile("c:\inetpub\wwwroot\billeder\" & File.Name) 'her hentes et enkelt billed LastModified2 = f1.DateLastModified 'tiden for hvor når det er ændret
Next nytid = 80000 %>
så reloader den efter 80 sekunder <body onload="setTimeout('location.reload(true)',<%=nytid%>);">
men ;-))) "hvis billedet nu opdaterer f.eks 40 sek efter at man er gået ind på siden, så skal man ikke vente de 80 sek, så skal man jo kun vente 40 + 20 sek = 60 sek før at den skal reloade, og derved få sidste nye billede frem." dette var det du spurgte om og det kræver at den tjekker LastModified2 konstant
så kunne du jo nøjes med at skrive 80 direkte i head, men det er jo ikke det jeg vil!
Ved snart ikke hvordan jeg skal forklare det.. Jeg ved det kan lade sig gøre, og at den kun skal tjekke det når man går ind på siden, problemet er bare at jeg ikke ved hvordan det skal gøres.
Det du lige har sendt er jo faktisk 10 linier, hvor den 11. linie sætter tiden hvornår den skal reloade.
"nytid" har ikke noget at gøre med alle de andre linier.
Nej, forestil dig. Du går ind på siden, billedet er modificeret kl 00:00:00, tiden som du besøgte siden er kl 00:01:00. Derfor skal der så kun være 20 sek til at siden reloader igen. Det behøver den kun tjekke en gang, og det er ved hvert besøg.
mitbrugernavn > Jeg bruger php og fatter hat af asp, men kan da se at det er helt hen i vejret dit sidste script... Hvorfor så meget kode, for slet ikke at bruge det?
<% nu = now() Set fso = CreateObject("Scripting.FileSystemObject\") Set myFile = fso.GetFile( Server.MapPath("tur.jpg") ) LastModified = myFile.DateLastModified 'tiden for hvor når det er ændret
response.write LastModified & " - aflæsning af billedredigering<br>" response.write nu & " - aflæsning af bruger ankomst<br>" response.write datediff("s",LastModified,nu) & " - diff<br>" if datediff("s",LastModified,nu) > 80 then opdate = 80000 else opdate = (80 - datediff("s",LastModified,nu)) * 1000 end if response.write opdate & " - reloader inden for <br>" %>
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.