Avatar billede mccookie Seniormester
04. december 2000 - 15:51 Der er 11 kommentarer og
2 løsninger

Ekstern kilde !!

Jeg har en HTML fil med en del javascript funktioner, som jeg gerne vil have liggende i en separat fil.

Jeg formoder at man bruger følgende TAGS:
<Head>
<Script src=\"minjavascprit.js\">
</Script>
</Head>

Men hvordan kalder jeg mine funktioner fra min *.js fil ???

Jeg bruger normalt et par form knapper !

Jeg har prøvet at lægge scriptet i en fil for sig selv, men det virker ikke lige !

Mvh.
McCookie
Avatar billede limemedia Nybegynder
04. december 2000 - 15:56 #1
du kopierer blot din script indhold i js filen uden <SCRIPT> og så kører det... Der er ikke andet du skal foretage dig.
Avatar billede limemedia Nybegynder
04. december 2000 - 15:56 #2
din = dit
Avatar billede mccookie Seniormester
04. december 2000 - 16:02 #3
Jeg SKAL have alle funktionerne liggende for sig selv !!!!
Avatar billede sone Nybegynder
04. december 2000 - 16:21 #4
Du kalder på samme måde som hvis de lå fysisk i filen.
Avatar billede drean Nybegynder
04. december 2000 - 21:25 #5
Hr du fundet ud af det ?
Avatar billede jakoba Nybegynder
04. december 2000 - 22:18 #6
I .js filen kan du lægge variabeldefinitioner og funktioner som du vil.

<script language=\'javascript\' src=\"din_js_fil.js\">

// det virker nu somoom alt hvad der står i .js filen havde været skrevet inde
// i denne script container.

// men husk at din .js fil er en extra fil der skal downloades. så du skal passe
// på ikke at bruge variable og funktioner i .js filen før den er færdig med at loade.
// fx ved at teste:

if ( variabel_defineret_i_js_filen ) {
  anden_variabel = variabel_defineret_i_js_filen;
  //...
}

</script>

mvh JakobA
Avatar billede mccookie Seniormester
04. december 2000 - 22:19 #7
Jeg har lige været til et røvsygt bestyrelsesmøde, jeg kigger på det imorgen !!!


Mvh. McCookie
Avatar billede ldanielsen Nybegynder
05. december 2000 - 00:40 #8
<script language=JavaScript src=\"minjavascprit.js\">
skal stå uden </script>,

og så skriver du bare koden i \'minjavascprit.js\'.
Jeg formåder at du er ligeglad med at høre om gamle browsere der ikke understøtter det.
Avatar billede jakoba Nybegynder
05. december 2000 - 01:10 #9
idanielsen >> uenig. se nedenfor fra Javascript Compendium
                    PS: noget nyt om MusMus\'s sneglevæddeløb?

<script src=\"argument\"> ... </script>

                                  Compatibility Chart
                              This test is not yet complete.

      \"The SRC attribute is optional and, if given, specifies a URL that loads the
  text of a script. Both attributes may be present.
      \"The SRC attribute specifies the scripting language by using the .js suffix.
  The suffix must be mapped by the web server to the MIME type
  \"application/x-javascript\" which the server sends back in the HTTP GET
  reply\'s Content-type: header. Without a properly configured server (one that
  maps .js filename suffix to application/x-javascript\" MIME), Netscape won\'t
  respond properly with the data coming back in the HTTP response to the
  SRC-initiated request.\" (Netscape 3.0b5)

men min  language=\'javascript\'  parameter er åbenbart redundant for .js extension er nok til at fortælle hvad sprog det er. Nå, den skader ikke.

mvh JakobA
Avatar billede ldanielsen Nybegynder
05. december 2000 - 01:16 #10
Nå, jeg har da skrevet det uden, og det er da også mere logisk jfr. <LINK ...> <META  ...> osv. Men ok så.

Ang. sneglene, nej de må stadig gætte sig til hvornår de når frem!?!

Lars
Avatar billede jakoba Nybegynder
05. december 2000 - 01:31 #11
ja det ville være mere logisk. Jeg vil tro det kommer af at HTML\'s overordnede syntax ikke tilader at et tag er en container den ene gang og så ikke er det i en anden situation.

Ligesom i  <a name=\"xxxxxx\">  som jo ikke burde behøve en endtag, men som helt klart har bedst af at få en :)
Avatar billede mccookie Seniormester
05. december 2000 - 10:46 #12
Hejsa !

Alle jeres kommentarer giver lige anledning til et spørgsmål mere:

Er mit Javascript loaded hvis:

<Html>
<Head>
<Script src=\"mitJavaScript.js\">
</Head>

<Body Onload=\"picture_left\">
........Onclick=\"next_picture()\"
</Body>

</Html>

Det er ret vigtigt at det er loaded, når Browersen når til Body koden !!!!!

Er der nogen der har en Test function liggende til om folk bruger henholdvis NN IE 4.0 eller højere og gider de at postede den her ?

Mvh. McCookie
Avatar billede jakoba Nybegynder
05. december 2000 - 15:37 #13
Jep. Jeg er (næsten) sikker på at onLoad først aktiverer når .js en er inde.

Den test jeg foreslog går på at

if ( variabelnavn ) ...;

altid siger \'false\' hvis variablen ikke er defineret. så hvis du slutter din .js fil med en simpel variabelerklæring:

var dit_fil_navnVar = 2;

kan du se hvornår filen er inde ved at teste der.

Det kan evt forfines lidt.

var awaitOkHandle = setTimeout(\"testForOk()\",100);

function testForOk() {
  if ( dit_fil_navnVar ) {    // .js er klar
    // din initieringskode.
  } else {                        // vent noget mere
    awaitOkHandle = setTimeout(\"testForOk()\",100);
  }
}

men jeg tror onLoad er god nok og selv venter :)

mvh JakobA
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