Just nu i M3-nätverket
Gå till innehåll

Visa text medans data hämtas


NoiseKiller

Rekommendera Poster

I den lilla sida jag skapar hämtar jag data ur en SQL-server i ett annat nät. Lite brandväggar å krafs emellan gör att första anropet blir ganska segt (5-10 sekunder innan något händer). När man väl börjat "prata" med SQL-servern håller den farten uppe.

Men kan man på något sätt visa en alternativ text tills datat är hämtat och kan publiceras?

 

:: NoiseKiller, för en tystare datormiljö ::

Länk till kommentar
Dela på andra webbplatser

Webben - utveckling & design/ASP & VBScript /SVAR: Visa text medans data hämtas

Vilket språk? En gissning säger asp. ;)

 

:: NoiseKiller, för en tystare datormiljö ::

 

Länk till kommentar
Dela på andra webbplatser

Det absolut lättaste sättet att lösa detta på måste väl vara att göra en "mellansida" i HTML som bara säger att sökning pågår och där i lägga en refresh tagg som pekar mot själva söksidan. På detta sätt visas sökning pågår texten ända till själva söksidan har kommit fram till ett resultat.

 

Länk till kommentar
Dela på andra webbplatser

Tjena!

 

ASP är en plattform, inte ett språk...

 

/ Johan

 

(Och ja, jag är en besserweisser... ;)

[inlägget ändrat 2002-09-30 13:43:37 av Nollis]

Länk till kommentar
Dela på andra webbplatser

Ja lättast kan man ju enkelt säga. Men eftersom det bara är vid första anropet som fördröjningen är märkbar är det lite tråkigt om användaren måste vänta hela tiden..

Samma sak gäller ju vid lite mer krävande sql-anrop då det tar en stund för servern att "tänka".

 

:: NoiseKiller, för en tystare datormiljö ::

 

 

Länk till kommentar
Dela på andra webbplatser

Tjena!

 

Jag skulle nog ha lagt ut informationen om dröjsmålet i en div-tag, som jag sedan gjort osynlig i body onLoad-eventet (som inträffar efter att anropet till databasen är klart, och resten av sidan genererats..)...

 

/ Johan

 

Länk till kommentar
Dela på andra webbplatser

Men om jag fattat saken rätt så körs asp-koden på servern och först när allt är färdigt laddas sidan hos clienten. Och då hjälper det väl inte om jag har några div-taggar som försöker visas innan, eller?

 

:: NoiseKiller, för en tystare datormiljö ::

 

 

Länk till kommentar
Dela på andra webbplatser

ASP buffrar som standard sidan och skickar sedan ut hela "svaret" när den är klar. Du kan ändra detta så att du skickar ut HTML-koden lite i taget (fram till det att du öppnar db-connen t ex). Har inte pillat med ovan postat om OnLoad, men det låter plausibelt...

 

Länk till kommentar
Dela på andra webbplatser

Tjena!

 

Buffrar den verkligen som standard? Det är inte min erfarenhet... (Kanske beror på att jag brukar köra JScript under ASP, och inte VBScript...) Men oavsett hur det är med detta så rekommenderas Noisekiller alltså att lägga in ett response.buffer = false tidigt i koden...

 

/ Johan

 

[inlägget ändrat 2002-09-30 15:26:10 av Nollis]

Länk till kommentar
Dela på andra webbplatser

Tjena!

 

Bra synpunkt. Detta funkar alltså inget vidare i Netskräp v4, etc. Det borde jag ha nämnt...

 

Så här kan man göra:

<%
response.buffer = false ' för säkerhets skull
%>
<html>
<body onLoad="waiting_div.style.visibility='hidden';">

<div id="waiting_div">Please wait...</div>

<%
' gör det som ska göras
%>

</body>
</html>

 

/ Johan

 

Länk till kommentar
Dela på andra webbplatser

Buffering cannot be turned off once it is already turned on.

Säger den lite snällt när jag försöker stänga av Buffer men koden verkar ju funka i övrigt..

 

:: NoiseKiller, för en tystare datormiljö ::

 

 

Länk till kommentar
Dela på andra webbplatser

Vilken version av IIS kör du?

Det vet jag faktiskt inte.. Har inte tänkt på det heller. Det är förmodligen inte sexan, men den har frontpage-stöd så den är inte jättegammalt heller..

 

:: NoiseKiller, för en tystare datormiljö ::

 

 

[inlägget ändrat 2002-09-30 17:02:57 av NoiseKiller]

Länk till kommentar
Dela på andra webbplatser

Det är värt en poäng trots att det inte hjälper mig. Det är ju inte min IIS utan en större server i ett företagsnät.

 

Användarna får helt enkelt hållas till tåls med den lilla fördröjjningen. :)

 

:: NoiseKiller, för en tystare datormiljö ::

 

 

Länk till kommentar
Dela på andra webbplatser

Tjena!

 

Där torde vi ha förklaringen...

 

(Och jag kör mycket riktigt 4.0 på min testburk...)

 

 

 

Lite svårt att följa trådarnas vindlingar här på Eforum (som ändå är suveränt). Detta var ett svar på nedanstående:

Kan kanske detta kan vara till hjälp :)

http://support.microsoft.com/default.aspx?scid=kb;en-us;Q245198

(Men har du fått det att fungera utan att stänga av buffringen låter det förstås bättre)

 

och egentligen även på detta:

Har för mig att de ändrade det mellan 4:an och 5:an. Från 5+ är det buffer on som default. :)

 

/ Johan

 

[inlägget ändrat 2002-09-30 17:26:48 av Nollis]

Länk till kommentar
Dela på andra webbplatser

Hej!

 

Ex med <body onload... funkar ju aldeles utmärkt i Ie. Men hur kan man göra för att det ska fungera i NetscapeNavigator?? (tyvärr kör flera av mina användare NN)

 

//-- tråden flyttad av Moderator --//

Håkan

 

[inlägget ändrat 2002-10-02 22:16:33 av Magnus Gladh]

Länk till kommentar
Dela på andra webbplatser

Tjena!

 

Tja, helt cyniskt kan man ju tycka att de som kör netscape får finna sig i att vänta med en tom skärm - du har ju trots allt ansträngt dig genom att hitta en lösning för majoriteten (?) - du kan ju inte hjälpa att de kör Netscape...

 

Om man nu inte vill vara cynisk, får man nog göra som tidigare föreslaget - hitta på någon mellansida.

 

Alternativt kom jag på en vild idé som k a n s k e kan funka... (Jag är för trött för att orka testa den)...

 

<%
response.buffer = false ' för säkerhets skull
%>
<html>
<body>

<img src="waiting.gif" alt="please wait!">

<%
' gör det som ska göras
%>

<script language="JavaScript">
this.document.images[0].src="nothing.gif";
// alternativt "sidan_klar.gif" eller liknande...
</script>

</body>
</html>

 

Alldeles nyss förstod jag inte riktigt varför Magnus G. flyttade den här tråden till JavaScript-forumet, men nu har jag väl motiverat det kanske... ;)

 

/ Johan

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...