Avatar billede knisse Nybegynder
15. maj 2002 - 15:33 Der er 11 kommentarer og
2 løsninger

At få fat i en variable

jeg har lavet et script som jeg hiver ind i en side som her <script src="sovs.js"></script>. Men hvordan får jeg fat i en variable der er placeret her:
<script src="sovs.js?noa=10"></script>

Jeg skal bruge den variable som er indeholdt i noa.
Avatar billede jakoba Nybegynder
15. maj 2002 - 15:56 #1
Det er jeg ikke sikker på du overhovedet kan.

Men for at skrive det må den variabel vel også være kendt idet du laver filen. Så du istedet kan skrive:
<script>var noa = 10;</script>
<script src="sovs.js"></script>
Avatar billede knisse Nybegynder
15. maj 2002 - 16:00 #2
problemet er at jeg er ved at lave noget lign. syndicated content, og scriptet skal kunne bruges fra flere forskellige sites, og på hvert site skal det väre muligt at definere antallet af overskrifter man vil have vist.

Om det skal laves med sovs.js?noa=10 eller på en anden måde, jeg skal bare kunne lave et script, og tilpasse de individuelt fra site til site
Avatar billede jakoba Nybegynder
15. maj 2002 - 16:09 #3
så kald filen for fx sovs.php den bliver sendt igennem php (eller asp). Så kan du hente variablen som en normal get-parameter i den fil.

<?
if ( isset($noa) ) {
    echo "var noa = " .$noa .";\n";
} else {
    echo "var noa = 8; // default\n";
}

du bør så angive en type= i <script kommandien:

<script type='text/javascript' src="sovs.php?noa=10"></script>

mvh JakobA
Avatar billede knisse Nybegynder
15. maj 2002 - 16:13 #4
jeg ved godt at jeg kunne have lavet det i php eller asp eller lign. men det er ikke hvad jeg skal bruge, jeg skal bruge det i javascript
Avatar billede delwin Nybegynder
15. maj 2002 - 16:31 #5
du kan godt kalde en javascript fil for php eller asp.. eller .hattemager hvis det er det du har lyst til.. det er der vigtigt er ikke endelsen, men mimetypen og indholdet.. så brug du bare en php eller asp fil til at skrive javascript ud..
Avatar billede nazaq Nybegynder
16. maj 2002 - 10:49 #6
Jakoba har ret når han siger det ikke kan lade sig gøre, og dog...

Hvis du begrænser dig til IE4+ og NS6 så kan du bruge script objectet.
SCRIPT.src indeholder det du søger, men det virker ikke i Netscape navigator

/NaZaq
Avatar billede knisse Nybegynder
16. maj 2002 - 23:53 #7
Forklar det lidt nærmere. Hvis jeg skal bruge en anden extension til en fil, skal den så ikke sættes op på serveren, så den fatter hvad jeg snakker om?
Avatar billede nazaq Nybegynder
17. maj 2002 - 10:42 #8
Når man skriver:
<script type="text/javascript" src="sovs.php?noa=10"></script>
fortæller man at her skal browseren indsætte et script af typen javascript(type="text/javascript") og at scriptet er i kilden sovs.js (src="sovs.js") src står for source. Browseren er totalt ligeglad med hvad filen hedder, det er indholdet den vil have fordi den har jo fået at vide at det er javascript, derfor er det muligt at kalde filen 'en.dum.fil' hvis man vil.
Serveren er også ligeglad med fil endelsen med mindre at det er en endelse som er registreret og som den skal gøre noget ved som *.asp *.php *.pl osv.
Serveren gør jo ikke noget ved en *.js fil andet end at fortælle at mime typen er "text/javascript" i http headeren, men da browseren har fået at vide hvilken type fil kilden er kigger den ikke på http headeren fra serveren.

/NaZaq
Avatar billede knisse Nybegynder
17. maj 2002 - 11:41 #9
ok, så jeg smider en fil sammen der hedder "sovs.fil?noa=10" oploader den til min server og i filen kan jeg så anvende noa=10 som alm. variable?
Avatar billede nazaq Nybegynder
17. maj 2002 - 14:01 #10
Nej ikke helt.
Når du inkludere scripts i html sider ved hjælp af <script type="text/javascript" src="....
så vil dette script opføre sig som om det er en del af den side det er inkluderet i. Så skriptet ved ikke at det i virkeligheden kommer fra en anden fil. Du kan dog i IE4+ og NS6 bruge SCRIPT objektets src property til at læse hvorfra scriptet kommer og så parse strengen så du får det der står efter 'noa='.

Det er dog betydeligt nemmere for dig at følge jakoba's forslag og skrive flg.
<script>var noa = 10;</script>
<script src="sovs.js"></script>

Scriptet inde i sovs.js kan så finde 'noa' værdien i variablen noa (som en ganske almindelig variabel), som i dette tilfælde vil have værdien 10.

om du skriver:

<script>var noa = 10;</script>
<script src="sovs.js"></script>

eller skriver:

<script type="text/javascript" src="sovs.php?noa=10"></script>

i din html er egentligt ligemeget men den sidste kræver altså at du har et php script på din server som indsætter 'noa' værdien i scriptet inden det returnere det til browseren, hvilket egentligt er overkill for at spare 1 linie i html. Desuden lader det til at du hellere vil lave javascript på client siden frem for at udføre enten php eller asp på server siden.

/NaZaq
Avatar billede nazaq Nybegynder
17. maj 2002 - 14:04 #11
Glemte lige at hvis 'noa' variablen skal indeholde f.eks. 5 så inkludere du bare skriptet sådan:

<script>var noa = 5;</script>
<script src="sovs.js"></script>

Nemt og lige til

/NaZaq
Avatar billede knisse Nybegynder
17. maj 2002 - 14:09 #12
spank you nazap men hvad med at smide et svar ind så jeg kan give point
Avatar billede nazaq Nybegynder
17. maj 2002 - 15:25 #13
Det kan jeg da godt men Jakoba skal vel have noget da han kom med løsningen?

/NaZaq
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