Avatar billede gurly Praktikant
08. januar 2008 - 16:40 Der er 9 kommentarer og
1 løsning

hvorfor virker mit lille enkle script ikke

jeg har en side der ser sådan her ud >

<html>
<head>

<script language="JavaScript" type="text/javascript" src="script1.js">
</script>

</head>

<body>

<script type="text/javascript">
window.onload = function(){
function1();
}
</script>

</body>

</html>



Filen "script1.js"  har så følgende indhold >

function1()
{
window.location="side1.htm";
}


det var så meningen at når siden loades, henter den derefter js filen, derefter køres funktion1()  og siden redirectes derefter til "side1.htm"
men det virker ikke, der sker ingen ting.
hvis jeg derimod nøjes med følgende indhold i js filen >

{
window.location="side1.htm";
}

så kan den jo godt få siden til at redirecte, men hvordan får jeg kaldt på det via en funktion ?
Avatar billede cpufan Juniormester
08. januar 2008 - 16:57 #1
har du prøvet dette:

<html>
<head>

<script language="JavaScript" type="text/javascript" src="script1.js">
</script>

</head>

<body onload="function1();">





</body>

</html>
Avatar billede kennedk Nybegynder
08. januar 2008 - 17:13 #2
<script type="text/javascript">
window.onload = new function(){ location.href = ""; }
</script>

gæt i tågen
Avatar billede gurly Praktikant
08. januar 2008 - 17:25 #3
cpufan > ja det havde jeg prøvet, det giver ingen forskel hvordan jeg kalder det

kennedk > det kan jeg ikke bruge, for det er noget der skal bygges videre på, og det er vigtigt at redirectionen ligger ude i js filen, og kan kaldes som funktion
Avatar billede roenving Novice
08. januar 2008 - 17:49 #4
window.onload = function(){function1();};
Avatar billede gurly Praktikant
08. januar 2008 - 17:56 #5
roenving > næ det hjælper ikke, om så jeg kalder det via
<p><a href="java script:function1();">load</a></p>
så sker der ingen ting, problemet er tilsyneladende js filen
hvis jeg kun har følgende i js filen>

{
window.location="side1.htm";
}

så viderestiller den jo fint når js filen loades,
men hvis jeg sætter funktion på >

function1()
{
window.location="side1.htm";
}

så virker den ikke uanset hvordan jeg kalder på funktionen ?
Avatar billede roenving Novice
08. januar 2008 - 18:02 #6
Gaab, det overså jeg:

function function1()
...
Avatar billede gurly Praktikant
08. januar 2008 - 18:57 #7
roenving > nå det var bare den lille detalge, nu virker det c",)
til orientering kan jeg lige forklare hvad det skal bruges til

når man går ind på siden så er det miningen man skal viderestilles til en side på "server1"  hvis så ikke server1 er online så stilles man i stedet videre til "server2"  hvis den heller ikke er online så viderestilles til "server3"
til sidst kan så eventuelt viderestilles til en fejl side

Det er så lavet ud fra en betragtning om at hvis man kan losde en lille js fil fra en server, så kan man nok også loade htm siden fra samme server, ved godt at hvis server køre meget overbelastet så er der en teoretisk mulighed for at man får loadet js filen men ikke htm siden, men det må jeg se bort fra.

siden man åbner ser så sådan ud >

<html>
<head>

<script language="JavaScript" type="text/javascript" src="script10.js"></script>
<script language="JavaScript" type="text/javascript" src="script20.js"></script>
<script language="JavaScript" type="text/javascript" src="script3.js"></script>

</head>

<body>

<script type="text/javascript">
window.onload = function(){
setTimeout("function3();",2000);
setTimeout("function2();",1000);
function1();
}
</script>

<div align="center">
<h1>Siden Loader, Vent Venligst</h1>
</div>
</body>

</html>



De 3 js filer ser sådan ud >

script1 >


function function1()
{
window.location="server1.htm";
}



script2 >


function function2()
{
window.location="server2.htm";
}


og script3 >

function function3()
{
window.location="server3.htm";
}



det virker så sådan at den loader de 3 js filer hvis den kan altså, skulle en af dem ikke blive hentet fordi denne server er nede sker der intet ved det

den køre så først funktion1()  hvis vel at mærke den fik hentet script1.js altså
hvis den gjore det, så viderestilles til siden server1.htm
hvis ikke den kan køre funktion1() fordi den ikke fik hentet filen, så køre den jo funktion2() i stedet, og viderestiller til siden server2.htm i stedet.
man kan så bygge videre på og tjekke en del servere inden der viderestilles til disse
eventuelt slutte af med en fejlside fra den oprindelige server hvis ingen af de andre kunne loades.

Det lader til at køre rigtigt fint  c",)

faktisk virker det til at man kan fjerne tids forsinkelsen fra funktionerne, den priotere så den nederste funktion højrere end de funktioner der ligger over
men det ved jeg ikke rigtigt om man kan stole på ?
så måske er det bedst at beholde tids forsinkelsen ?

Smid du bare svar roenving, takker for hjælp endnu en gang  c",)
Avatar billede gurly Praktikant
08. januar 2008 - 18:58 #8
der er så lige fejl i 2 af adresserne der henter js filerne, fordi jeg har rettet i dem for at teste at tingene virker c",)
Avatar billede roenving Novice
09. januar 2008 - 16:22 #9
Velbekomme '-)
Avatar billede roenving Novice
10. januar 2008 - 13:25 #10
-- og tak for point ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB