23. juni 2008 - 17:04Der er
28 kommentarer og 1 løsning
Udføre JavaScript loadet med ajax
Hej eksperter!
Hvis jeg vil køre noget JavaScript, jeg har hentet med ajax, har jeg læst mig frem til at jeg skal sammensætte det med eval(); - Jeg synes bare ikke jeg kan få det til at virke.
Pt. får jeg en syntax error på dette kode:
changePage('programinfo.php?program=<?=$programinfo["id"]?>', 'none'); - og hvis jeg tilføjer eval, er siden bare blank når jeg åbner den.
Jeg ved at funktionen changePage virker, da jeg bruger den flere andre steder.
Altså, jeg kan ikke få browseren til at udføre mit JavaScript, efter det er hentet med ajax. - Hvad gør jeg galt?
- men det ville nok under alle omstændigheder være en fordel, om du lagde et link. Det er absolut uhensigtsmæssigt at bruge get metoden til Ajax-kald - så det er overvejende sandsynligt, der er andre ting, du bør ændre. Det er næsten umuligt at lære at skrive god Ajax gennem tutorials på WWW. De færreste forfattere af Ajax artikler/tutorials kan selv bruge Ajax =)
Søgemaskiner læser ikke noget mellem script-tags - så nej, det kan ikke læses. Skal søgemaskinen læse noget i den forbindelse, skal det f.eks. skrives i noscript-tags =)
Jeg gættede på det var eval jeg skulle bruge for at få det til at blive udført? - derfor ;)
Ret mig endelig hvis jeg er helt skævt på den. - Case er at det ikke er op til mig hvordan det flash bliver implementeret, det skal bare være der, så jeg er nødt til at få det til at virke på den måde der :)
Nej, du er ikke spor skævt på den, men man må også forvente, at folk, man spørger til råds, prøver at lede én mod bedre kode - og gerne vil sikre sig, man virkelig har forstået ;o)
Hvad mener du med: "når siden ikke loades med ajax"?
Jeg orker ikke pløje 15-16 JS-filer igennem for at finde ud af, hvad der sker på din side. Med mindre du laver noget meget sært, afvikler scriptet i (24/06-2008 05:38:09) helt automatisk =)
Når du tilgår siden på en direkte URL, så kører JSen super, og indsætter falshen, men når man hiver det ind over ajax, så spiller det bare ikke overhovedet.
Jeg forstår dog ikke, hvorfor du bruger Ajax til indhold. Det er Ajax noget rigtig skidt til. Man kan ikke gemme sit indhold ret meget bedre for søgemaskinerne. Ajax bør aldrig bruges til søgerelevant indhold
Ahaaa ... nu kan jeg se, hvad du mener. Det er vel fordi, du bruger innerHTML til at indsætte HTML'en med. Det bruger de fleste såkaldte Ajax libraries, men dels er innerHTML invald og totalt vrøvl under XHTML - og dels overskriver den alle programmatiske referencer til og fra elementer i det fragment, den bruges på.
Når man bruger Ajax, skriver man ikke HTML ud på serveren. I stedet formateres de rå data som JSON (JavaScript Object Notation) eller XML. Når request dokumentet returnerer til XMLHttpRequest objektet i browseren, oprettes HTML elementer med DOM - hvorefter data fyldes i og elementerne indsættes i HTML dokumentet.
Nå.. w13 vil åbenbart ikke have point - De går til olebole alle sammen :)
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.