Werbemittel nachladen
Michael
- javascript
1 Cheatah
Hallo,
im Prinzip geht um die Fragestellung, welche auch in
http://forum.de.selfhtml.org/archiv/2005/5/t107597/
behandelt wurde.
Allerdings suche ich einen allgemeineren Ansatz für eine Webseite, die leider viele, viele Werbemittel nachladen soll.
Folgendes habe ich mir überlegt. Ich platziere an geeigneten Stelle DIVs, nämlich
<div id="werbezone-123" class="werbezone werbezone-456x789"></div>
Diesen DIVs kann ich via CSS alles mitgeben, was sie zur Darstellung brauchen, Positionen, Größen usw. Damit kann die Seite aufgebaut und dargestellt werden, bevor die Werbung geladen wird.
Mit (JavaScript-)Problem ist nun folgendes: entsprechend der oben genannten Diskussion muss ich nun in DIV-Tags via JS nachträglich SCRIPT-Tags einbauen.
Ich schreibe mal in Pseudo-Code
function WerbeLoader {
for tag in (div-tag mit class hat auch werbezone) {
nummer = ExtrachiereNummerAusID(tag);
s = document.createElement('script');
s.setAttribute('type','text/javascript')
s.innerText('Banner-Code fuer Zone '+Nummer+' hier eintragen');
tag.appendChild(s);
}
}
Da ich kaum Ahnung JavaScript habe, weiß ich nicht, wie ich die an die tags für die For-Schleife komme und die Zonen-Nummer extrahieren kann.
Außerdem weiß ich nicht, auf welches Event ich mit WerbeLoader() reagieren soll, damit es auch sicher nicht zu früh ausgeführt wird.
Danke für Tipps,
Michael
Hi,
Da ich kaum Ahnung JavaScript habe, weiß ich nicht, wie ich die an die tags für die For-Schleife komme und die Zonen-Nummer extrahieren kann.
es gibt zunächst einmal keine DOM-Methode, um Klassen gezielt auswählen zu können. Dein gemeinsames Merkmal ist also der TagName "div". Diese kannst Du durchlaufen, dessen className-Attribut analysieren und dann wie von Dir vorgeschlagen agieren.
Außerdem weiß ich nicht, auf welches Event ich mit WerbeLoader() reagieren soll, damit es auch sicher nicht zu früh ausgeführt wird.
Wenn die eingebundenen Scripts document.write() ausführen, gibt es kein "zu früh", dafür aber ein "zu spät", welches bei Deinem Vorgehen immer ist. Andernfalls bietet sich window.onload an, zumal es leider kein window.ondomload o.ä. gibt[1]. Alternativ kannst Du auch auf Events verzichten und einfach zum Ende der Seite den Aufruf einbinden.
Cheatah
[1] Hin und wieder habe ich hierfür aber bereits eine Implementierung gesehen, die Dir vielleicht weiter hilft.