Indlæse script tag bliver ikke eksekveret.

Tags:    javascript

Hej,

jeg sad og havde lidt bøvl med næste udgave af mit site og fik det kogt ned til:

document.getElementById('botm').innerHTML = "<script>alert('hi');</script>";

...hvilket jeg undrer mig over hvorfor ikke virker.
Det er ret problematisk for mig, da jeg ikke ved hvordan jeg skal gøre det samme andenvejs.

Jeg bruger ajax til at hente noget indhold fra en php fil, og skal have dette indhold til at køre et script, hvis og KUN hvis det er den side der bliver indlæst. Jeg er ikke så glad for at lave en funktion til hver side der skal indlæses, men behøver jeg det?



Fordi det du laver, er at indsætte tekst i en textnode og den vil aldrig afvikle javascript.

Skal du noget af den slags, så skal dit respons køres igennem en eval(). F.eks eval('alert("hi");'); hvor din server kun returnere: alert("hi");

Og du behøver naturligvis ikke at lave en funktion til hver side der skal vises, så ryger princippet i funktioner jo. :)



Jeg har lige opdaget hvor meget stil der er over jQuery, og som sådan tror jeg det løser sig selv når jeg når dertil igen.
Det er ikke sikkert at noget af den slags kommmer på tale igen ^^
Men godt at vide. Tak!



t