webForumDet fria alternativet

Gör sidan segare

10 svar · 491 visningar · startad av Web-Tor

Web-TorMedlem sedan nov. 200013 890 inlägg
#1

Jag har en HTML-prototyp som vi ska använda vid användartester. För att testerna ska vara realistiska skulle jag vilja "slöa ner" hela sidan, så att det tar 2-3 sekunder för varje sida att laddas. Någon som kan komma på ett enkelt sätt att åstadkomma detta?

Min första tanke var att lägga någon slags setTimeout i en generell js-fil...

JohnsenMedlem sedan juli 2000836 inlägg
#2

nåt sånt här då?

<html>
<script>
document.write(new Date()+"</br>")

for(i=0; i<7500; i++){
	document.write("<!--"+ new Date() +"-->")	
}

window.onload=document.write(new Date())
</script>
</html>
KoplikMedlem sedan juli 20011 129 inlägg
#3

Eller kanske

<Div ID="lager" Style="Width: 100%; Height: 100%; Position: Absolute; Background-Color: White;">
  &nbsp;
</Div>

<Script Language="Javascript">
setTimeout("hideLayer()", 2000);
function hideLayer()
{
  document.all.lager.style.visibility = "hidden";
}
</Script>

På kul kan du ju också lägga till en laddare
typ.

<Div ID="lager" Style="Width: 100%; Height: 100%; Position: Absolute; Background-Color: White;">
  &nbsp;<font face="Verdana" Size="+1">Laddar...</Font>
  <br>
  <Img Src="http://www.intrinsigo.com/bsblog/ProgressBar/loading.gif" Border=0>
</Div>
Web-TorMedlem sedan nov. 200013 890 inlägg
#4

Johnsen »
Hm... Den där koden genererar en varning:
"A script on this page is causing the Internet Explorer to run slowly..."

och ett felmeddelande:
"Not implemented" Line 9

Koplik »
Det där funkar ju fint. :)

Men i dagsläget omfattar prototypen runt 200 sidor så det bästa hade ju varit om jag hade kunnat lägga in någon funktion i en js-fil. :l

KoplikMedlem sedan juli 20011 129 inlägg
#5

Så här?

<Script Language="Javascript">
var sLayer;
sLayer = "<Div ID=lager Style=\"Width: 100%; Height: 100%; Position: Absolute; Background-Color: White;\"><Font Face=\"Verdana\" Size=\"+1\">Laddar...</font><br><Img Src=\"http://www.intrinsigo.com/bsblog/ProgressBar/loading.gif\" Border=0></Div>";
document.write(sLayer);

setTimeout("hideLayer()", 2000);
function hideLayer()
{
  document.all.lager.style.visibility = "hidden";
}
</Script>

Same same, but different.

Det blir ju fortfarande rätt mycket slit att lägga in includen i varje fil, men det problemet uppstår ju hur man än gör.

Om det inte går att använda en liten frame som styr in en liten kodsnutt till en av ramarna, men jag vet inte om det går... hmm

Web-TorMedlem sedan nov. 200013 890 inlägg
#6

Nu har jag mixtrat lite med det här men jag får det inte att funka:

<html>
<head>
<script type="text/javascript">
function body_onload(){
	var sLayer="<div id='lager'>lager</div>";
	document.getElementById('b').innerHTML=sLayer;
	window.setTimeout("hideLayer()",2000);
}
function hideLayer(){
	document.getElementById('lager').style.visibility="hidden";
}
</script>
</head>
<body id="b" onload="body_onload()">
	Vanligt innehåll
</body>
</html>

Efter två sekunder ska det vanliga innehållet komma fram men det gör det inte. :x

/r Rättade ett fel på rad 10.

dectgapMedlem sedan sep. 20021 655 inlägg
#7

Web-Tor skrev:

Efter två sekunder ska det vanliga innehållet komma fram men det gör det inte. :x

Du ersätter ju innehållet i body ("Vanligt innehåll") med det skapade div-elementet, så det är inte så konstigt att "Vanligt innehåll" inte kommer upp.

PeeerMedlem sedan mars 20025 907 inlägg
#8

Va inget :r

Web-TorMedlem sedan nov. 200013 890 inlägg
#9

dectgap skrev:

Du ersätter ju innehållet i body ("Vanligt innehåll") med det skapade div-elementet, så det är inte så konstigt att "Vanligt innehåll" inte kommer upp.

Hur ska jag göra för att det ska fungera då?

Kör jag bara med document.write så skrivs ju detta ut i HTML-filen och allt annat försvinner.

dectgapMedlem sedan sep. 20021 655 inlägg
#10

Ett sätt:

<script type="text/javascript">
function body_onload(){
	var sLayer = document.createElement("DIV");
	sLayer.id = "lager";
	sLayer.appendChild(document.createTextNode("lager"));
	document.getElementById('b').appendChild(sLayer);
	window.setTimeout("hideLayer()",2000);
}
function hideLayer(){
	document.getElementById('lager').style.visibility="hidden";
}
</script>
Web-TorMedlem sedan nov. 200013 890 inlägg
#11

Nu har jag fått den där koden att funka bra.

Fast jag stöter på mycket problem när jag ska ha in det i prototypen. Om jag inte hittar något sätt Timeout på inladdningen av det vanliga innehållet får det nog vara... :(

Tack för hjälpen i alla fall. :)

136 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)