16. december 2003 - 16:57Der er
36 kommentarer og 1 løsning
ændre i document.write?
hej jeg er ret grøn i javascript, og vil derfor gene have noget hjælp. jeg har 2 meget simple scripts der ser sådan ud. Script1.js: document.write("<img src='http://www.domainnavn.com'>");
>>surfer: ja ok , glemte lige at sige script2.js ændres dynamisk på ekstern serer. så 13.gif idag, er måske 27.gif imorgen. så din ide er fin, har jeg tænkt på, men den skal så læse stien i script2 og skrive fjerne "<img src=" før jeg kan sætte den sammen med script1
nej jeg kan jo ikke bruge "var filsti = '/images/13.gif';" da den jo ændres dynamisk i script2! men ok, det er nok lettere at forklarer hvis i ser hvad det er jeg vil. historien er indtil fornyli har jeg på min start side haft et billede fra dmi.dk liggende der viser dagens vejr(sol/sky/regn) men den bruger dmi.dk ikke mere så jeg var på jagt efter en ny. de fleste laver det serverside, så siden viser bare sol.gif ved godt vejr. men dr.dk har den som javascript så den er dynamisk, fint problemet er bare at det kun er den lokale sti i scriptet (altså script2 i eksemplet) derfor kan jeg ikke som i forslår bruge "var filsti = '/images/13.gif';"
så spørgsmålet er kan man evt tage script2 "document.write("<img src='/image/13.gif'>");" og lae den om til en strint var, og derefter fjerne de første 8tegn(img src=)for så kan man jo gøre som i siger eller hvad
ok, se på kildekode på siden (http://www.dr.dk/nyheder/) der er ikke nogen henvisning til billedet. istedet står der : <script src='/pubs/nyheder/html/nyheder/vejret/dagensvejrikon.js'></script> åbner du det script SÅ hår du document.write("<img src='/pubs/nyheder/html/nyheder/vejret/grafik/vejr_ikon/13.gif'>"); og derfor vises billedet. så dette script ændres hvergang vejret ænders til at pege på http://www.dr.dk/pubs/nyheder/html/nyheder/vejret/grafik/vejr_ikon/1.gif (til 22.gif) men for at kunne køre dette script på min egen side skal den jo så have den fulde sti dvs "http://www1.dr.dk " foran stien
Via en form (på nettet eller via program), skriver personen "det er skyet og blah blah blah.." og vælger ikon. Formen gemmer så ikonet i filen dagensvejrikon.js. Filen kan så bruges overalt.
Jeg forestiller mig at du fanger ikonet sådan her:
Du bruger f.eks. ASP (Active Server Pages) til at download filen dagensvejrikon.js. Du kan derefter splitte strengen, og finde ikonet. Hvis du ikke allerede har en server der understøtter ASP, kan du gratis oprette en konto hos www.frip.dk Vælger du denne løsning, skal du oprette et spm under ASP kategorien, for at stille spm angående den ASP kode man skal bruge.
Med andre ord: Jeg kan ikke lige se en JavaScript løsning på problemet.
Måske er det bare mig der ikke har forstået det.. men, der er jo ikke tale om links.. men "img src"..? Og hvordan passer det ind med, inkludering af script 1 + 2?
hmm.. har lige fået en skør ide.. man kunne jo have et skjult div eller span som indeholder inkluderingen af de 2 scripts. Billederen der er forkert ("/im..."), ses ikke. Derefter kan man bruge din metode med det første billede og det andet billede, osv..
- Smutter lige engang.. er tilbage om ca 10 mins..
<!-- Dette billede placerer du hvor du vil //--> <img src="" id="mypic">
<!-- selve scriptet SKAL stå efter mypic-billedet //--> <script type="text/JavaScript"> var i = document.images; var tmp = i[0].src.split("/"); var tmp2 = '';
for (i = 0; i <= tmp.length -1; i++) { if (tmp[i] != 'undefined') { tmp2 = tmp[i] } }
Vi hakker den op i stumper, så er den nemmere at forklare: document.images[0].src: betyder "adressen på billede '0'"
document.images[0].src.lastIndexOf("/"): betyder "det sidste '/' tegn i adressen til billede '0', " + 1" betyder at den skal tage det næste tegn, altså skal det sidste "/" tegn ikke inkluderes.
Med andre ord: i 'tmp' lægges indholdet, af adressen af billede '0', fra det sidste "/" tegn, plus 1 tegn.
Her er et svar, men roenving skal også have points..! :) Uden hans hint, med document.images, ville jeg ikke være kommet frem til løsningen.
ahh ok, så lastIndexOf("/") tager alt efter sidste / og +1 betyder den tager det et tegn efter / ok! ^^ ja klart, roenving smider du lige et svar, alternativ må i gerne få 30points hver, så laver jeg bare et nyt spørgsmål
he, ok lidt pointsforvirring, men jeg kan se i nu har fået 30 begge to så er det på plads. så tak til jer begge, det var en positiv start på et nyt felt for mig.
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.