15. maj 2002 - 15:33Der 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.
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>
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
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..
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?
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.
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.
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.
Det kan jeg da godt men Jakoba skal vel have noget da han kom med løsningen?
/NaZaq
Synes godt om
Ny brugerNybegynder
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.