For et lille års tid siden lavede jeg et værktøj der anvendte en iteration i stil med for(var i=0,c=document.scripts,cL=c.length;i<cL;i++) alert(c[i].text)
til at tilgå og analysere den tekstuelle repræsentation af et javascript på en html-side.
Det virkede dengang - men når jeg prøver det nu, er samtlige eksterne (altså inkluderede vha <script src=..>) [scripts].text en tom streng...
Er der andre der har samme oplevelse - eventuelt kan det være et spørgsmål om installation af .NET, Internet Explorer version eller simpelthen en Win2k sikkerhedsopdatering der har gjordt dette...
Skal vi være lidt 'smålige', er dit eksempel forkert. 'scripts' er ikke et array, men en collection og du bør derfor bruge '()' og ikke '[]' - men (også) det er IE tilgivende overfor, så det er ikke der, fejlen ligger :)
Så vidt jeg ved, har IE aldrig kunnet anvende text-property'en på remote .js-filer ... kun på scripts i dokumentet.
Hmm.. for at tage det sidste først er jeg 100% på at det har fungeret tidligere - vi brugte det bl.a. til at finde en kommentar linje der lå umiddelbart før funktionen selv; det kan vist ikke rigtigt lade sig gøre uden - og jeg blev først opmmærksom på problemet da jeg fornyligt skulle finde ud af hvorfor det ikke længere virkede :-(
btw.. minder mig om en gammel sang.. I say tomato, you say tomato, I say Array, you say collection... tomato, tomato, collection, array, let's call the whole thing off :)
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.