---
title: "Preloada en hel mapp?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/103868-preloada-en-hel-mapp"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Troll"
published: "2004-05-18T16:51:32.000Z"
updated: "2004-05-21T09:05:06.000Z"
replies: 17
views: 655
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/103868-preloada-en-hel-mapp"
---

# Preloada en hel mapp?

## #1 — Troll, 2004-05-18T16:51Z

Nu vet jag inte om ASP är det bästa sättet att lösa detta på så om ni kommer på något effektivare så kom gärna med tips :) Nåväl, nu till frågan... Är det möjligt att på något sett preloada en mapp på servern som innehåller ett antal mindre .gif/.jpg bilder?

De exempel på preloaders som jag har tittat på tidigare \[JavaScript\] så är man tvugen att skriva in bilderna manuellt och jag tänkte att det skulle bli bra mycket smidigare att istället köra igenom en hel mapp så att man bara behöver lägga in bilderna i mappen istället för att sitta och skriva in filnamnen som ska laddas.

Någon som har några tips/förslag?

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

## #2 — @nders, 2004-05-18T16:53Z

Jodå, har du ett preload-javascript ska det inte vara några problem att knyta ihop det med lite asp-kod som slänger in alla bilder i en mapp.

Så: hitta ett preloadscript som du trivs med så ska det nog gå att ordna. :)

mvh

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

## #3 — joohn, 2004-05-18T17:17Z

Skulle gärna vilja ha ett sånt script jag.
Här är ett scriptexempel som fungerar bra.

```
<script language="JavaScript1.1">
<!--
/*
preloader by marcin wojtowicz [one_spook@hotmail.com])
*/

	var locationAfterPreload = "index_2.htm"
	var lengthOfPreloadBar = 150
	var heightOfPreloadBar = 3
	var yourImages = new Array("images/index_01.jpg","images/index_02.jpg","images/index_03.jpg","images/index_04.jpg","images/index_05.jpg","images/index_06.jpg","images/spacer.gif","images/index_08.jpg","images/index_09.jpg","images/index_10.jpg","images/index_11.jpg","images/index_12.jpg","images/index_13.jpg","images/b.jpg","images/b1.jpg","images/b2.jpg","img/00.gif","img/01.jpg","img/02.jpg","img/03.jpg","img/04.jpg","img/05.jpg","img/06.jpg","img/07.jpg","img/08.jpg","img/09.jpg","img/10.jpg","img/11.jpg","img/12.jpg","img/13.gif","img/13.jpg","img/14.jpg","img/15.jpg","img/16.jpg","img/17.jpg","img/18.jpg","img/19.jpg","img/20.jpg","img/21.jpg","img/22.jpg","img/23.jpg","img/24.jpg","img/25.jpg")

if (document.images) {
	var dots = new Array() 
	dots[0] = new Image(1,1)
	dots[0].src = "images/2.gif"
	dots[1] = new Image(1,1)
	dots[1].src = "images/1.gif"
	var preImages = new Array(),coverage = Math.floor(lengthOfPreloadBar/yourImages.length),currCount = 0
	var loaded = new Array(),i,covered,timerID
	var leftOverWidth = lengthOfPreloadBar%coverage
}
function loadImages() { 
	for (i = 0; i < yourImages.length; i++) { 
		preImages[i] = new Image()
		preImages[i].src = yourImages[i]
	}
	for (i = 0; i < preImages.length; i++) { 
		loaded[i] = false
	}
	checkLoad()
}
function checkLoad() {
	if (currCount == preImages.length) { 
		location.replace(locationAfterPreload)
		return
	}
	for (i = 0; i <= preImages.length; i++) {
		if (loaded[i] == false && preImages[i].complete) {
			loaded[i] = true
			eval("document.img" + currCount + ".src=dots[1].src")
			currCount++
		}
	}
	timerID = setTimeout("checkLoad()",10) 
}
//-->
</script>

</head>

<body bgcolor="#303030">
<script language="JavaScript1.1">
<!--
if (document.images) {
	var preloadBar = ''
	for (i = 0; i < yourImages.length-1; i++) {
		preloadBar += '<img src="' + dots[0].src + '" width="' + coverage + '" height="' + heightOfPreloadBar + '" name="img' + i + '" align="absmiddle">'
	}
	preloadBar += '<img src="' + dots[0].src + '" width="' + (leftOverWidth+coverage) + '" height="' + heightOfPreloadBar + '" name="img' + (yourImages.length-1) + '" align="absmiddle">'
	document.write(preloadBar)
	loadImages()
}
// document.write('<p><small><a href="javascript:window.location=locationAfterPreload">)
// -->
</script>
</body>
</html>
```

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

## #4 — Jesper T, 2004-05-18T17:41Z

Testa detta:

```
<script type="text/javascript">
<!--
window.onload = function() {
<%
Dim bildmapp : bildmapp="images/" 'Din mapp med dina bilder

Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder(Server.Mappath(bildmapp))
set Files = Folder.Files

	For each Item In Files

		Select Case LCase(Right(Item.Name, 3)) 
                Case "jpg", "gif", "bmp", "png" 'Kollar att det är bilder
			myImages = myimages & """"& bildmapp & Item.Name &""","
		end select
	Next

Set FSO = nothing
myImages  = left(myImages , len(myImages) - 1) 'Tar bort sista kommatecknet för att inte få javascriptfel

Response.Write "preloadImages("& myImages &");"& vbcr 'Skriver ut det hela
%>
};
function preloadImages() {
	for (var i = 0; i < arguments.length; i++)
		document.createElement("img").src = arguments[i];
}
//-->
</script>
```

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

## #5 — joohn, 2004-05-19T13:50Z

JesperT, om man vill ha med en progressbar, hur kan koden se ut då?

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

## #6 — Jesper T, 2004-05-19T14:32Z

Så här kanske:

```
<script type="text/javascript">
<!--
window.onload = function() {
<%
Dim bildmapp : bildmapp="images/" 'Din mapp med dina bilder
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder(Server.Mappath(bildmapp))
set Files = Folder.Files

	For each Item In Files
		Select Case LCase(Right(Item.Name, 3))  'Kollar att det är bilder
		case "bmp","jpg","gif","png"
			myImages = myimages & """"& bildmapp & Item.Name &""","
		end select
	Next

Set FSO = nothing
myImages  = left(myImages , len(myImages) - 1) 'Tar bort sista kommatecknet för att inte få javascriptfel

Response.Write "preloadImages("& myImages &");"& vbcr 'Skriver ut det hela
%>};
function preloadImages() {
	for (var i = 0; i < arguments.length; i++)
		document.images["progressbar"].style.width=i * parseInt(150/arguments.length) +"px";
		document.createElement("img").src = arguments[i];
}
//-->
</script>
<img src="progress.gif" height="10px" style="border:1px solid black;" name="progressbar">
```

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

## #7 — Jesper T, 2004-05-19T14:56Z

Bahhh, den kanske inte var så bra.
Här har du en länk att knåpa ihop ngt. med.
<http://scriptasylum.com/misc/progressbar/progressbar.html>

```
Response.Write "var imagenames=["& myImages &"];"& vbcr 'Skriver ut det hela
```

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

## #8 — joohn, 2004-05-21T00:02Z

Det här ser ut att fungera men bilderna preloadas inte? En sa att createElement inte är standard utan att man ska använda av sig array, och lägga till (new Image()).src="..."; vad menas?

Sen så skulle det vara trevligt med siffror som räknar upp till 100% och då ska det inte vara så att det hoppar från 1 till 55 utan det räknar snabbt som 1 2 3 4 5 6 7 8 till 55 om någon har 10mbit tex.
Sidan ska redirecta också efteråt

```

<html>
<head>
</head>
<body>

<script type="text/javascript">
<!--
window.onload = function() {
<%
Dim bildmapp : bildmapp="photo/" 'Din mapp med dina bilder
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder(Server.Mappath(bildmapp))
set Files = Folder.Files

	For each Item In Files
		Select Case LCase(Right(Item.Name, 3))  'Kollar att det är bilder
		case "bmp","jpg","gif","png"
			myImages = myimages & """"& bildmapp & Item.Name &""","
		end select
	Next

Set FSO = nothing
myImages  = left(myImages , len(myImages) - 1) 'Tar bort sista kommatecknet för att inte få javascriptfel

Response.Write "preloadImages("& myImages &");"& vbcr 'Skriver ut det hela
%>};
function preloadImages() {
	for (var i = 0; i < arguments.length; i++)
		document.images["progressbar"].style.width=parseInt(100*i/arguments.length) +"px";
		document.createElement("img").src = arguments[i];
}
//-->
</script>
<img src="progress.gif" height="10px" style="border:1px solid black;" name="progressbar">

<body>
</html>
```

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

## #9 — Jesper T, 2004-05-21T07:42Z

```
<script type="text/javascript">
<!--
<%
Dim bildmapp : bildmapp="photo/" 'Din mapp med dina bilder

Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder(Server.Mappath(bildmapp))
set Files = Folder.Files

	For each Item In Files
		Select Case LCase(Right(Item.Name, 3))  'Kollar att det är bilder
		case "bmp","jpg","gif","png"
			myImages = myimages & """"& bildmapp & Item.Name &""","
		end select
	Next

Set FSO = nothing
myImages  = left(myImages , len(myImages) - 1) 'Tar bort sista kommatecknet för att inte få javascriptfel

Response.Write "var imagesSrc=["& myImages &"];"& vbcr 'Skriver ut det hela

%>	
var imagesOnLoad="document.getElementById('status1').innerHTML='Laddar bilder, '+parseInt(images.loaded/images.toload*100)+'% klart.'";
var imagesOnAllLoaded="document.getElementById('status2').innerHTML='Alla bilder laddade på '+images.loadtime/1000+'s.';setTimeout('window.open(\"http://www.sl.se\",\"_self\")',1500)";

var images=new Object();
images.loaded=0;
images.starttime=new Date();
images.toload=imagesSrc.length;
for(i in imagesSrc){
	images[i]=new Image();
	images[i].onload=function(){
		images.loaded++;
		document.getElementById("progressbar").style.width=images.loaded * parseInt(150/imagesSrc.length) +"px";
		if(imagesOnLoad.length>0){ eval(imagesOnLoad); }
		if(images.loaded==images.toload&&imagesOnAllLoaded.length>0){
			images.stoptime=new Date();
			images.loadtime=images.stoptime.getTime()-images.starttime.getTime();
			eval(imagesOnAllLoaded);
		}
	}
	images[i].src=imagesSrc[i];
}
//-->
</script>

<div style="height:10px;width:150px;border:1px solid black;padding:0;margin:0;"><div style="background:blue;width:2px;height:5px;" id="progressbar"></div></div>
<div id="status1"></div>
<div id="status2"></div>
```

Tack till [jojoxx](http://www.webforum.nu/member.php?s=&action=getinfo&userid=599)!

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

## #10 — joohn, 2004-05-21T08:17Z

Det där verkar inte fungera heller? ( <http://www.mongo.nu/portfolio/preloader.asp> )
Hmm, fungerar det för dig?

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

## #11 — Jesper T, 2004-05-21T08:23Z

Du har trollat bort ett \\ efter index.asp där sidan skall redirectas.

```
setTimeout('window.open(\"index.asp[b]\[/b]",\"_self\")',1500)";
```

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

## #12 — joohn, 2004-05-21T08:28Z

Nu funkar det prima :) Najs najs 

Tack så mycket

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

## #13 — joohn, 2004-05-21T08:30Z

Förresten har en fråga till hihi

Nu har man det här javascriptet 

\<script language=\\"javascript\\" type=\\"text/javascript\\" src=\\"js/mozInnerHTML.js\\"\>\</script\>

\<!-- Använder sig av mozInnerHTML från <http://webfx.eae.net/> \--\>
\<script language="javascript" type="text/javascript" src="js/dtdfade.js"\>\</script\>

\<script language="javascript" type="text/javascript"\>

\<!--

picArray = new Array("fader_pic_adresser_ver2.gif", "fader_pic_vitklass.gif", "fader_pic_vi_har.gif");
linkArray = new Array("http://mattiasnordin.net", "http://mattiasnordin.net", "http://mattiasnordin.net");
createSlideShow( linkArray, "\_blank", picArray, "http://mattiasnordin.net/ju-jutsu/designen/", 420, 110, 1500, 1000, 2);
/\*
Parametrar:
1) Array med länkar
2) target. ("\_blank" för nytt fönster)
3) Array med bilder
4) Basadress till bilderna. Alt. lämna denna tom ("") och använd
   full adress för parameter 3
5) Bredd
6) Höjd
7) Hur länge varje bild ska visas (millisekunder)
8) Hur lång tid en övergång ska ta
9) Hur många bilder som ska förladdas innan övergångarna börjar 
   (Första bilden visas fram till dess)
\*/

\--\>\</script\>

Kan man ersätta picArray = new Array("fader_pic_adresser_ver2.gif", "fader_pic_vitklass.gif", "fader_pic_vi_har.gif");
linkArray = new Array("http://mattiasnordin.net", "http://mattiasnordin.net", "http://mattiasnordin.net");
createSlideShow( linkArray, "\_blank", picArray, "http://mattiasnordin.net/ju-jutsu/designen/", 420, 110, 1500, 1000, 2);

mot någonting som tar alla bilder från en mapp, så man bara behöver uploada bilden i mappen för att den ska komma upp och visas.

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

## #14 — Jesper T, 2004-05-21T08:34Z

Ja visst. Använd samma princip som förut.
Byt ut:
Response.Write "var imagesSrc=\["& myImages &"\];"& vbcr 
mot:
Response.Write "picArray = new Array("& myImages &");"& vbcr

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

## #15 — joohn, 2004-05-21T08:39Z

Lagt in men hur behåller man javascriptseffekten? Det är ett fadescript..

```

<script language=\"javascript\" type=\"text/javascript\" src=\"js/mozInnerHTML.js\"></script>

<!-- Använder sig av mozInnerHTML från [url]http://webfx.eae.net/[/url] -->
<script language="javascript" type="text/javascript" src="js/dtdfade.js"></script>

<%
Dim bildmapp : bildmapp="photo/" 'Din mapp med dina bilder

Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder(Server.Mappath(bildmapp))
set Files = Folder.Files

	For each Item In Files
		Select Case LCase(Right(Item.Name, 3))  'Kollar att det är bilder
		case "bmp","jpg","gif","png"
			myImages = myimages & """"& bildmapp & Item.Name &""","
		end select
	Next

Set FSO = nothing
myImages  = left(myImages , len(myImages) - 1) 'Tar bort sista kommatecknet för att inte få javascriptfel

Response.Write "picArray = new Array("& myImages &");"& vbcr 'Skriver ut det hela

%>	

/*
Parametrar:
1) Array med länkar
2) target. ("_blank" för nytt fönster)
3) Array med bilder
4) Basadress till bilderna. Alt. lämna denna tom ("") och använd
   full adress för parameter 3
5) Bredd
6) Höjd
7) Hur länge varje bild ska visas (millisekunder)
8) Hur lång tid en övergång ska ta
9) Hur många bilder som ska förladdas innan övergångarna börjar 
   (Första bilden visas fram till dess)
*/

--></script>
```

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

## #16 — Jesper T, 2004-05-21T08:49Z

Föreslår att du klipper ut det som du får i källkoden och fortsätter ditt inlägg i javascriptforumet eftersom att det nu är en javascriptfråga.
 ;)

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

## #17 — joohn, 2004-05-21T09:00Z

Hehe okej, postade just ett inlägg där. Tack så mycket för hjälpen. Det där har man nog stor nytta av :) Speciellt om man vill ha nya bilder varje gång.
Men förresten när javascriptsproblemet är löst och att man ska kunna klicka på next / back så undrar jag om det är i namnordning dom går efter varandra?

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

## #18 — Jesper T, 2004-05-21T09:05Z

Ja, filerna skall listas i bokstavsordning.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/103868-preloada-en-hel-mapp
