webForumDet fria alternativet
Logga in / Bli medlem

"Var god dröj"

JavaScript

13 svar · 465 visningar · startad av daPhil

Medlem sedan apr. 2001151 inlägg
Trådstart#1

Jag har ett script som zippar ihop filer åt folk för att sedan slussa dem vidare till en "hämtningssida".. Om det är säg en 100mb fil som zippas tar det ju typ 20 sekunder och folk kanske inte hajar riktigt vad som händer.. Hur kan jag göra så att en "var gor dröj" text kommer upp medans filen zippas?

mvh
Philip

Medlem sedan okt. 20005 273 inlägg
#2
[red]
Response.Write "var god dröj"
[/red]

....skämt ossido .....antingen så gör du en allert med JavaScript eller så skriver du ovanstående på "hämtningssidan.....

eller har jag missuppfattat dig totalt :q

Medlem sedan apr. 2001151 inlägg
#3

Jag vill gärna ge någon extra sekund så att FAT m.m. hinner uppdateras och filen kopieras, kan man sätta en timer eller något så att scriptet väntar en halv sekund innan nästa script anropas?

Medlem sedan apr. 2001151 inlägg
#4

Såhär ser min "zipper.asp" ut, det är scriptet som utför zippningen.. Den anropas från ett formulär på en annan sida, hur kan jag göra så en "paustext" kommer upp medans filen zippas.. Så som det ser ut nu hoppar den bara över min Response.Write "Preparing the picture!" och direkt på "present_zip.asp" dokumentet som följer efter zipper.. Hjälp?

<!-- #include file="security.asp" -->

<%

Response.Write "Preparing the picture!"

Function ZipExt(file)
	extAry = Split(file, ".")
	file = Replace(file, extAry(Ubound(extAry)), "zip")
	ZipExt = file
End Function

SourcePathArray = Split(Request.Form("pic"), "/")

sourceFile = SourcePathArray(Ubound(SourcePathArray))
sourceFolder = SourcePathArray(Ubound(SourcePathArray) - 1)

'zipFilename = Hour(Now) & Minute(Now) & Second(Now) & "_" & ZipExt(sourceFile)

	sInFiles = Server.MapPath("bilder") & "\" & sourceFolder & "\" & sourceFile
zipFilename = Hour(Now) & Minute(Now) & Second(Now) & "_" & ZipExt(sourceFile)
	sZipPath = Server.MapPath("temp") & "\" & zipFilename

	Set ZIP = Server.CreateObject("Pnvzip.ZipFunctions")
	

resp = ZIP.ZipFile(sInFiles,sZipPath)
Set ZIP = Nothing

Response.Redirect "present_zip.asp?file=" & zipFilename

%>
Medlem sedan dec. 200012 464 inlägg
#5
response.buffer = true
Response.Write "Preparing the picture!"
response.flush
Medlem sedan apr. 2001151 inlägg
#6

Får felmeddelande:

--
Response object error 'ASP 0156 : 80004005'

Header Error

sökväg/zipper.asp, line 39

The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing page content.
--

Line 39: Response.Redirect "present_zip.asp?file=" & zipFilename

Medlem sedan juni 200032 967 inlägg
#7

Om du inte använder IIS5 måste du själv sätta på buffringen. Det gör du överst på asp-sidan:

Response.Buffer = true

Mvh,

Medlem sedan apr. 2001151 inlägg
#8

Tack för hjälpen, men det fungerar fortfarande inte :( Ser ut såhär:

<% Response.Buffer = true %>

<!-- #include file="security.asp" -->

<%

Response.Write "Preparing the picture!"
Response.Flush

Function ZipExt(file)
	extAry = Split(file, ".")
	file = Replace(file, extAry(Ubound(extAry)), "zip")
	ZipExt = file
End Function

SourcePathArray = Split(Request.Form("pic"), "/")

sourceFile = SourcePathArray(Ubound(SourcePathArray))
sourceFolder = SourcePathArray(Ubound(SourcePathArray) - 1)

	sInFiles = Server.MapPath("bilder") & "\" & sourceFolder & "\" & sourceFile
zipFilename = Hour(Now) & Minute(Now) & Second(Now) & "_" & ZipExt(sourceFile)
	sZipPath = Server.MapPath("temp") & "\" & zipFilename

	Set ZIP = Server.CreateObject("Pnvzip.ZipFunctions")
	

resp = ZIP.ZipFile(sInFiles,sZipPath)
Set ZIP = Nothing

Response.Redirect "present_zip.asp?file=" & zipFilename

%>
Medlem sedan dec. 200012 464 inlägg
#9

Njae, det går inte att ha både flush och redirect kommer jag på nu när jag ser felmeddelandet.

jag tror nog att du måste göra något med Javascript.

Medlem sedan apr. 2001151 inlägg
#10

Men går det inte att göra en "paus" mellan texten och scriptet helt enkelt på något sätt? Eller ska jag lägga texten i ett eget dokument som redirectar vidare? Verkar som en omväg tycker jag.. Jag kan ju inte JavaScript heller :(

Medlem sedan feb. 200112 078 inlägg
#11

Det här använder jag, och det funkar alldelse utmärkt. Nu får nog nån flytta tråden tror jag. ;)

I <head>-taggen

<div id="spl" style="position:absolute; top:100; left:300;">
<table border="0" cellpadding="10" cellspacing="1" bgcolor="#000000">
<tr>
	<td bgcolor="#ffffff">

<font class="mtop">Meddelande...</font><br>
<br>
<font class="text">
Hämtar relaterad information. 
Detta kan ta en liten stund.<br>
<br>
Var god vänta..

	</td>
</tr>
</table>
</div>

<script language="JavaScript">
<!-- 
function hideLayer(){
if(document.layers) document.layers["spl"].visibility= "hide";
else if(document.all) document.all("spl").style.visibility= "hidden";
else if(document.getElementById) document.getElementById("spl").style.visibility= "hidden";
}
//--> 
</script>

I din body-tagg

<body onload="hideLayer();">

Let me know.

Medlem sedan nov. 20017 144 inlägg
#12

Vad tror du om att göra en animerad gif som börjar blinka i ett antal sekunder när du hamnar på den sidan?

Nu måste tråden flyttas............

MVH Jesper T

Medlem sedan feb. 200112 078 inlägg
#13

I samband med scriptet ovan då eller?

Medlem sedan juni 200032 967 inlägg
#14

Jag flyttar tråden till javascript-forumet så hoppas vi att problemet löses!

Mvh,

374 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
123 ms — deklarationer (db)
122 ms — hämta statistik (db)
126 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)