Ein AdServer benötigt einiges an Javascript-Code, den meisten davon für die Einbindung der Banner. Möchte man es sich einfach machen, würde man dazu tendieren, eine der vorhandenen Javascript-Bibliotheken wie jQuery, PrototypeJS, MooTools oder das dojotoolkit zu verwenden. Diese Idee hat wirklich etwas für sich und auch ich dachte anfangs, ich könnte das machen.
Die Vorteile liegen auf der Hand:
- man muss sich nicht selbst darum kümmern und die Bibliotheken werden ständig weiterentwickelt
- die meisten benötigten Methode gibt es schon
- teilweise sind sie über Plugins beliebig erweiterbar
Allerdings haben sie auch einige Nachteile:
- teilweise sind sie etwas aufgeblasen und benötigen viel Bandbreite bei der Übertragung
- bieten mehr Funktionen als benötigt werden
- man neigt dazu vorhandene Plugins zu verwenden
- wird die gleiche Bibliothek in der Seite verwendet, kann es zu Versions-Konflikten kommen
- verwendet man z.B. jQuery und PrototypeJS hat man das Problem, dass beide diese $-Methode verwenden.
Das sind jetzt nur die Nachteile die mir direkt einfallen. Bei genauerer Betrachtung gibt es wahrscheinlich noch mehr Vor- und Nachteile.
Für mich auf jeden Fall Grund genug, eine eigene kleine Javascript-Bibliothek zu erstellen, die genau die von mir benötigten Funktionen enthält.
Die erste Methode die mir dafür ein fällt ist natürlich das klassische onload. Also das Ausführen einer Javascript Methode nachdem die Seite komplett geladen ist. Mit jQuery wäre hier ein einfache $(document).ready ausreichend. jQuery wird jetzt aber nicht verwendet und ich muss zugeben, ich wusste auch nicht direkt, wie es anders gemacht werden kann. Mir war klar, dass einfach window.onload zu verwenden keine Lösung ist, da damit evtl. vorhanden Handler überschrieben werden würden.
Aber lang lebe Google. Dort habe ich nach kurzer Suche diesen Code gefunden. Der so oder so ähnlich auf Hunderten von Seite und Foren gefunden werden kann.
function onload(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
oldonload();
func();
};
}
}
Die Funktionsweise ist schnell erklärt, die Methode onload erhält als Parameter eine Methode, die nach dem Laden der Seite ausgeführt werden soll. Um bestehende Onload-Handler nicht zu überschreiben, werden diese in der Variable oldonload gemerkt und später einfach mit ausgeführt. Dadurch ist es möglich, mehrer Handler zu registrieren.
Ein einfaches Skript aber unglaublich hilfreiches Skript.

Verwandte Themen: