Avatar billede minau Nybegynder
29. februar 2004 - 16:09 Der er 6 kommentarer og
1 løsning

dekod script

Hej

Har fundet det her - men jeg har lidt dvært ved at overskue hvad der sker. Kan i ikke hjæle med at dekode det?

<script language="JavaScript" type="text/JavaScript">

<!—

function MM_reloadPage(init) {  //reloads the window if Nav4 resized

if (init==true) with (navigator) {
    if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
        document.MM_pgW=innerWidth;
        document.MM_pgH=innerHeight;             
        onresize=MM_reloadPage; }}

    else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}

MM_reloadPage(true);

//-->
</script>
Avatar billede mm12010 Nybegynder
29. februar 2004 - 16:15 #1
//genindlæser siden hvis brugeren har Netscape 4 og resizer vinduet
Avatar billede roenving Novice
29. februar 2004 - 16:16 #2
Funktionen kaldes onload med parameteren true (den sidste linje !-)

Hvis init-parameteren er true checkes om navigatoren er en Netscape 4, hvis den er det, lægges den nuværende højde og bredde ind i nogle variable og onresize bedes om at udføre funktionen -- uden init-parameteren !-)

His ikke init er sat i kaldet hoppes til den anden halvdel af koden, og siden reloades, hvis højde eller bredde er ændret !-)
Avatar billede minau Nybegynder
01. marts 2004 - 18:15 #3
hmm - ja ok

men hvorfor
with (navigator)
i en if sætning?


jeg undres lidt over - hvis det nu ikke er netscape 4 - så vil den jo gå ind i else if - antag at den ikke har de rigtige dimentioner - så vil den jo reloades - og efter den er reloaded vil den reloade igen - er det ikke en løkke??

så er jeg heller ikke helt med på hvad  onresize=MM_reloadPage;  gør
Avatar billede roenving Novice
02. marts 2004 - 02:50 #4
with-statementet bruges til at præcisere et objekt, som de efterfølgende properties skal sættes i forhold til, så i det ovenstående bruges det til at forkorte noget af koden, den kunne også skrives:

var MM_pgH=MM_pgW=null;
function MM_reloadPage(init) {  //reloads the window if Nav4 resized

if (init==true){
    if ((navigator.appName=="Netscape")&&(parseInt(navigator.appVersion)==4)) {
        MM_pgW=window.innerWidth;
        MM_pgH=window.innerHeight;             
        window.onresize=MM_reloadPage; }}

    else if (window.innerWidth!=MM_pgW || window.innerHeight!=MM_pgH) location.reload();
}

-- nu udvidede jeg også eksemplet til at skrive de steder, hvor window. ikke er obligatorisk, men oftest bruges ...

-- og, da MM_ - variablerne nu ikke kunne mistolkes som hørende til navigator-objektet, er det strengt taget ikke nødvendigt at bruge document. i hver forekomst, de skal så bare erklæres som globale variable først !-)
Avatar billede minau Nybegynder
02. marts 2004 - 09:41 #5
Tanx - du har helt sikkert kvalificeret dig til svar :-)

smid ét
Avatar billede roenving Novice
02. marts 2004 - 23:40 #6
Velbekomme '-)
Avatar billede roenving Novice
16. marts 2004 - 01:22 #7
-- og tak for points ;~}
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