Men når jeg gør dette lyder der et "klik" hver gang den ny src hentes ind. Det kunne godt være lidt irriterende at høre på i længden, så er der nogen der har en anden løsning til, hvordan jeg henter og udskifter noget allerede lavet javascript/html-kode sidst i dokumentet?
Du kan godt erstatte HTML i IFramet, men for at det skal være ordentlig kode, skal din side være programmeret i så korte og simple koder som muligt, og det samme gælder det, du sætter ind. Hvad vil du sætte ind i IFramet og hvor? Kan vi se et eksempel?
Du kan "bygge" et banner nogenlunde sådan her: ---------------------------------------------- var strDocument=document.getElementById("iframe").contentWindow.document; var newElement=strDocument.createElement("img"); newElement.setAttribute("src","/images/banner1.jpg"); newElement.style.borderWidth="0"; strDocument.getElementsByTagName("body")[0].appendChild(newElement); ---------------------------------------------- Dét kaldes DOM (Document Object Model) og det er hamrende smart og hamrende gyldig, uptodate kodning! :) Det kan kun anbefales, at du bliver stærk i DOM.
den opdaterer ikke hele siden - kun reklamerne ude til højre (billed-reklamerne). Lige når de kommer frem viser der sig en hvid firkant i et splitsekund, samtidig med at der lyder en klik (som et museklik), hvis du har slået lyden til.
højden bestemmer hvor mange pixels jeg har at gøre godt med til reklamer - jeg vil have det sådan at det fylder pladsen ud ude til højre (altså ca. lige så højt som det grå felt), i al fald ikke mere, men evt. mindre, hvis scriptet ik lige kan få det til at passe men alt det har jeg lavet ... det er den der efterload der volder problemer.
måske jeg alligevel skal kigge på det ajax for det bruger jeg også til chatten, men det er kun noget tilrettet noget fra en der har gjort det tilgængeligt på nettet
Ville man ik komme ud over det med ajax? Der lyder da i al fald ikke en kliklyd hver gang der kommer nyt i chatten, og den opdateres hele tiden - det må jeg gå ud fra, at jeg også kan undgå ved reklamerne så.
Ok. Ellers så skrev lige koden, du bruger til at ændre højden med. Har gjort det før, så forhåbentlig kunne jeg lige få det til at fungere her osse. Man skal dog vistnok gøre det på en speciel måde.
Du kan evt. prøve at alerte offsetHeight for hovedfelt og se, om den giver en korrekt værdi.
Og så bør du prøve at sætte højden med:
document.getElementById("banneriframe").setAttribute("height",document.getElementById("hovedfelt").offsetHeight); ^Dette sætter højden med DOM (Document Object Model), som er meget up-to-date, fremtidsvenlig kode. Man bør så vidt muligt forsøge at sætte attributter med: .setAttribute("attributnavn","værdi")
Og også: document.getElementById("banneriframe").style.height=document.getElementById("hovedfelt").offsetHeight; ^som sætter height som CSS også. Her kan dog ikke bruges setAttribute.
Det er som jeg vil have det nu. Har droppet alt det der med at loade reklamer alt efter hvor stort "det grå område"/sidens egentlige indhold er.
I stedet har jeg bare sat en fast højde på 600px til reklamer.
Der er ikke så meget vinding i at gøre en masse ud af at få det til at passe - og mange gange ville det ik passe alligevel pga. browsere osv. Sådan her passer det hver gang ;)
Mange tak for interessen - vil du ik smide et svar, så får du nogle velfortjente point :)
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.