Avatar billede monkeysee Nybegynder
28. maj 2001 - 07:35 Der er 10 kommentarer og
3 løsninger

Javascript som genererer Javascript...

Hvordan gør man det???

Jeg kender metoden document.write, hvor man kan samle en string som man derefter skriver til dokumentet, men findes der en anden (smartere) metode til at \"skrive\" til det samme script som man er i færd med at afvikle, uden at skabe en ny HTML side (som document.write gør)...?


Avatar billede dragen Nybegynder
28. maj 2001 - 07:47 #1
Jeps, brug <div> eller <span> f.eks. sådan her:

<div id=\"hej\">Her er det der startes med</div>

<script>

hej.innerHTML = \"Det der sluttes med\";

</script>

Det skulle gerne virke - var det det?
Avatar billede monkeysee Nybegynder
28. maj 2001 - 07:58 #2
Hej Drage - d.v.s at jeg f.eks skriver ind i <div> taggen med mit ASP script, for derefter at kunne \"samle\" det op senere. Jeg vil gerne tjekke metoden ud, den lyder interessant:-)

Man skal altså skrive document.write på \"hej.innerHTML\" ?

Avatar billede nikolajdu Nybegynder
28. maj 2001 - 08:23 #3
inner/outerHTML virker kun i IE.

Du kan jo evt bare smide document.write ind efter din <body>, så vil javaScriptet bare blive indskrevet i siden.

Det er dog svært at sige præcist hvad du skal gøre, før vi kender mere til dit projekt.

/Nikolaj
Avatar billede monkeysee Nybegynder
28. maj 2001 - 09:21 #4
OK Nikolaj - her er en forklaring af projektet (galleri/hjemmeside til en tekstilkunstner):

jeg har en side som består af Javascript styrede elementer (dHTML), som alle sammen bliver skabt ved en onLoad event. Dvs. at alt indhold sidens bliver generet i det øjeblik alle filer er hentet.

Det er baseret på et gratis cross-browser kombatibelt html-API som hedder dynAPI. Derfor er det også lidt svært at \'vise\' problemet på enkel vis, da der er rigtig meget kode involveret. Men skriv, hvis du/I gerne vil se det alligevel!

Mit problem er dog enkelt formuleret:-) Sagen er den, at jeg henter informationer fra en database, som jeg gerne vil bruge til at \"skrive\" resten af scriptet med. Ethvert fungerende eksempel herpå ville være rart;-)
Jeg ved at Internet Explorer har mulighed for at oprette nye scripts dynamisk (http://www.eksperten.dk/spm/26621), men da jeg har planer om at lave en cross-browser hjemmeside . . .
Avatar billede olebole Juniormester
28. maj 2001 - 10:24 #5
<ole>
Du kan godt skrive, f.eks:

<script language=\"JavaScript\">
  var tekst = \"Det virker...!\";
  var str = \'<\\script language=\"JavaScript\">alert(tekst)</\\script>\';
  document.write(str);
</script>

Men læg mærke til, du skal escape \'script\' med en \'\\\', når JavaScript skriver det.
/mvh
</bole>
Avatar billede nikolajdu Nybegynder
28. maj 2001 - 10:32 #6
Ole - Hvad gør escape tingesten?? \\
Avatar billede olebole Juniormester
28. maj 2001 - 11:14 #7
nikolajdu >> At JavaScript ikke genkender det som \'<script...osv\'. At skrive det vil JS opfatte som at udføre hjernekirourgi på sig selv  :o)
Avatar billede nikolajdu Nybegynder
28. maj 2001 - 11:18 #8
Har lige foretaget det hvide snit på mig selv og fatter ikke en brik længere... *ggg*
Avatar billede olebole Juniormester
28. maj 2001 - 11:31 #9
Det kan lade sig gøre i visse browser/platforms-kombinationer, men bør absolut undgås.

Nogle har ikke så meget hjerne at operere på, så dér sker der ikke noget - men andre har og så går det galt...!  *LooOooL*
Undskyld, men jeg kan ikke lade en høj serv gå forbi, Niko  :oD
/mvh
Avatar billede nikolajdu Nybegynder
28. maj 2001 - 11:35 #10
Hvis ikke det var fordi jeg lige havde skåret forbindelsen mellem hjernehalvdelene over ville jeg straks havet smashet på den oplagte serv.
Avatar billede nikolajdu Nybegynder
28. maj 2001 - 11:39 #11
og bonket mig selv i hovedet....
Avatar billede olebole Juniormester
28. maj 2001 - 11:44 #12
*ROTFLMAO*
Avatar billede monkeysee Nybegynder
30. maj 2001 - 14:28 #13
:-)  - - Medens I har gået og leget med skalpelknive, har jeg lavet noget ASP kode, som generer Javascript, som igen generer HTML. Jeg glemte jo helt hvad ASP kunne gøre her, så jeg bliver vist nødt til at fordele point\'sne.

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