---
title: "Köra ett javascript i en Vbscript loop"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/100339-köra-ett-javascript-i-en-vbscript-loop"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "mattiasnordin"
published: "2004-03-26T09:52:38.000Z"
updated: "2004-03-26T11:50:18.000Z"
replies: 5
views: 213
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/100339-köra-ett-javascript-i-en-vbscript-loop"
---

# Köra ett javascript i en Vbscript loop

## #1 — mattiasnordin, 2004-03-26T09:52Z

Jag har en Vbscript loop (ASP) som tar lång tid att loopa pga en långsam komponent som anropas i loopen. Det jag skulle vilja uppnå är att när loopen har kört **ett varv** så ska tex ett javascript ändra på ett layer på sida B. Loopsidan (B) öppnas från sida A genom en knapp.
Är detta möjligt att uppnå på något sätt?

Min nuvarande sida tar ca 90 sekunder att ladda och allt visas först när allt har loopat klart. Det försöker jag ändra på.

Permalänk: https://www.webforum.nu/p/100339

## #2 — Erik Juhlin, 2004-03-26T09:57Z

Är inte säker på om det går, men kanske...

```
<script type="text/javascript">
function doThatThing(i)
{
	//gör något...
}

<%
For i = 0 To 100
	'gör väldigt tung grej
	%>
	doThatThing(<%=i%>);<%
	Response.Flush
Next 'i
%>
</script>
```

Permalänk: https://www.webforum.nu/p/1310094

## #3 — Erik Juhlin, 2004-03-26T10:05Z

Testade lite nu, det funkade inte. Men det här gjorde det:

```
<%
Option Explicit
Response.Buffer = True
Response.Expires = -1000

Dim i, j
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
</head>
<body>

<div id="x"></div>
<script type="text/javascript">
function doThatThing(i)
{
	document.getElementById("x").innerHTML = i;
}
</script>

<%
For i = 0 To 5
	For j = 0 To 10000000
		'...
	Next 'j
	%>
	<script type="text/javascript">
	doThatThing(<%=i%>);
	</script><%
	Response.Flush
Next 'i
%>
</script>

Done!

</body>
</html>
```

Permalänk: https://www.webforum.nu/p/1310100

## #4 — mattiasnordin, 2004-03-26T10:12Z

```
<hr>

<script type="text/javascript">
function doThatThing(i){
document.write(i)	//gör något...
}
</script>

<%
For i = 0 To 5
	'gör väldigt tung grej
	Set oPing = Server.Createobject("Dynu.Ping")
	Response.Write(oPing.Ping("www.dynu.com", 2, 32, 1000))
	Set oPing = nothing
	%>
	<script type="text/javascript">
	doThatThing(<%=i%>);
	</script><p>
<% Response.Flush
Next 'i
%>
```

Vad häftigt!!! Jag har aldrig använt mig av **response.flush** tidigare. Det fungerar precis som jag vill ha det.

Finns det någon nackdel med att använda response.flush ?

Tack Erik Julin... very glad now. :) :) :)

Permalänk: https://www.webforum.nu/p/1310109

## #5 — Erik Juhlin, 2004-03-26T11:44Z

Några nackdelar finns väl. Kan tänka mig att det blir aningen sämre prestanda. Sen så går det ju inte att skriva ut headers (Response.Redirect och annat) efter första flushen.
Men mycket bra att använda den i vissa fall. Som här! :)

I ditt fall ser det ju ut som att du inte behöver använda JavaScript alls. Bara skriva ut något varje rad...

Permalänk: https://www.webforum.nu/p/1310140

## #6 — mattiasnordin, 2004-03-26T11:50Z

Ok.

Jag har bara bifogat ett exempel ovan. Min "sega sida" är betydligt mer krånglig. Det jag gör är att jag lägger en bild (karta över världen) i ett layer. Sedan har jag en massa blinkande gifanimeringar som blinkar om jag har kontakt mellan 2 punkter. Har jag inte access till slutdestinationen så startas en ny funktion som pingar alla routrar på vägen för att se var felet ligger. 

Resultatet blev både snyggt och bra. Nu går det acceptabelt snabbt också. :) :) :) :)

Permalänk: https://www.webforum.nu/p/1310141

---

Tråden på webben: https://www.webforum.nu/amne/asp/100339-köra-ett-javascript-i-en-vbscript-loop
