23. maj 2007 - 22:30Der er
17 kommentarer og 2 løsninger
Importer Javascript-modul inde i Javascript-kode
Hej Eksperter.
Jeg har lavet en kode, som skal benytte forskellige script-moduler, der ligger i forskellige mapper.
Ultimativt skal min kode selv finde disse mapper og importere koderne fra dem en efter en, så man let kan fjerne eller tilføje et modul ved bare at slette mappen med .js-filen.
Så mit spørgsmål: Hvordan importerer jeg automatisk en .js-kode FRA en JavaScript-kode. Dvs. jeg kan ikke bare indsætte: <script src="modul/kode.js" type="text/javascript"></script>
Jo, for findes filen eller mappen ikke, vil browseren bare opgive at importere den ...
-- men javascript er designet til en voldsom fleksibilitet, et eksempel kan du finde på min side med Date-udvidelser (http://roenving.users.whitehat.dk/date/roenvingDate.html !-), hvor et sprogmodul kan importeres uden problemer ...
I koden står følgende, hvor importen af det engelske sprog-modul er disabled med html-comments:
-- fjerner du udkommenterings-tingene og kører det, vil den straks snakke engelsk (dog ikke, hvis du bruger format-tingen uden parametre, da den bruger den aktuele arbejdsstations standard !-), prøv det f.eks. ved at bruge filen lokalt efter at have rettet referencerne til siden eller ved at downloade .zip-filen !o]
Ok. Jeg er nu ikke helt sikker på, det løser det i mit tilfælde. Mit problem er, at jeg laver en texteditor i JavaScript, og jeg vil helst lægge alle knapper (/funktioner) ind som moduler. Dvs. placere dem i mappen "moduler", og jeg håbede så, at min kode selv kunne importere alle moduler i denne mappe.
Er det en mulighed? Muligvis bare ved, at jeg skriver modulernes navne ind i et array..
Ang "Ultimativt skal min kode selv finde disse mapper og importere koderne fra dem en efter en, så man let kan fjerne eller tilføje et modul ved bare at slette mappen med .js-filen.":
Her lyder det som om, at du har brug for noget serverside scriptsprog, som f.eks. ASP eller PHP.
- ASP/PHP løber mapperne igennem, og kan udskrive "<scrip...></script" koden.
Jaeh, det frygtede jeg lidt. ASP er ikke et problem, men jeg håbede at holde grundstrukturen i JavaScript. Derfor ville det være fint nok, at jeg skulle skrive modulerne ind i et array, som den så gennemløber. Så sådan set søger jeg bare en kode, der løber array'et igennem og importerer et eksternt script med det filnavn, der står på den givne arrayplacering og så tilføjer ".js". :S
Hvis du skriver en fuld liste af moduler, men kun stiller noget til rådighed i det aktuelle bibliotek, vil browseren simpelthen overse de fraværende ...
-- hvis modul3 og modul5 så mangler, ja så er de ikke til rådighed, og så kan du i din generelle kode bare teste for, om de objekter/variable, der er specifikke for modulet er til rådighed på samme måde, som jeg gør i mit Date-script !-)
Alene virker de firkantede paranteser som en Array-erklæring (ligesom tuborger virker som en object-erklæring !-), men skal man bruge new-keywordet til Array (eller Object for den sags skyld !-), skal man bruge din seneste udgave ...
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.