"Jan M" <a@b.c> writes:
> Jeg er abselut nybegynder i scripts, men har efter lidt søgen og lån
> lavet/tilrettet et script.
> Problemet er jo selvfølgelig at skidtet ikke virker og at jeg ikke selv kan
> finde fejlen.
Ja, det er en selvfølge, ellers var du ikke her. Derfor giver den
linje ingen information.
Du fortæller os hvad du har gjort. Så mangler vi stadig to informationer
for at kunne hjælpe dig effektivt:
Hvad forventede du at der skulle ske?
Hvad skete der?
(og, som en detalje, hvilken browser bruger du? Da du ikke siger det
vælger jeg at antage at det er Opera 6 på en Macintosh [1])
Læs mere her: <URL:
http://www.infimum.dk/HTML/hjaelpmig.html>
> Så hvis der er en som kan/vil pege på problemet, bil det være dejligt
Du har ikke nogen <!DOCTYPE ...>-erklæring. Det betyder sikkert at du
ikke har valideret siden. Gør det!
> <html>
> <head>
>
> <script>
I HTML 4 er type-attributten påkrævet:
<script type="text/javascript">
> passList=Array("kode1","side1.html","kode2","side2.html");
>
> function checkPass()
> {
> var pass=document.passForm.password.value;
Jeg foretrækker personligt
var pass=document.forms['passForm'].elements['password'].value;
men dit virker også.
> var theUrl=document.location.href;
"location" er ikke en egenskab ved "document", men ved "window". *Nogle*
browsere har det også i document, men ikke alle.
var theUrl = location.href;
> for(i=0;i<passList.lenght;i+=2)
Tyrkfejl: length
Det er nok fejlen. Ingen tal er mindre end "undefined" (eller mere præcist:
ingen tal er mindre end NaN, som undefined bliver lavet om til når man bruger
det som et tal).
> {
> if(pass==passList[i])
> {
>
> theUrl=passList[i+1];
> i=passList.lenght;
Du kan bryde ud af løkken med
break;
i stedet for at ændre variablen "i".
> }
> }
> document.location.href=theUrl;
location.href = theUrl;
> return false;
> }
> </script>
>
> </head>
> <body oncontextmenu="return false;">
Det er dumt, ueffektivt og provokerende at forsøge at stoppe
højrekliks-menuen. Det virker i IE og Mozilla, men ikke i andre
browsere (fx ikke i min, som er Opera). Det kan nemt slås fra i disse
browsere. Jeg har denne adresse som bookmark i både IE og Mozilla:
javascript:document.body.oncontextmenu=undefined;
At blokkere højrekliksmenuen generer brugerne, og det forhindrer
overhovedet ikke at man kigger i koden (det kan gøres på så mange
andre måder, inklusive menuen). Læs dette:
<URL:
http://dorward.me.uk/www/hide/>
Da du ikke kan forhindre at folk ser kildeteksten til din side, så
virker din password-beskyttelse overhovedet ikke. Man kan blot kigge i
HTML-koden og se adgangskoderne.
> <form onsubmit="checkPass()" name="passForm">
> Kode:<br><input type="text" name="password"></input>
I HTML har input-elementer ikke et slut tag, så drop </input> med mindre
du bruger XHTML (og det gør du ikke uden en DOCTYPE!).
/L
[1] Ok, jeg driller. Jeg antager det er IE på Windows. Det er det oftest
når folk ikke siger det.
--
Lasse Reichstein Nielsen - lrn@hotpop.com
Art D'HTML: <URL:
http://www.infimum.dk/HTML/randomArtSplit.html>
'Faith without judgement merely degrades the spirit divine.'