Wie aber rufe ich dann dies aus der ursprünglichen HTML Seite mit onload= ?
Ups, das habe ich vergessen.
Von außen kannst du über StatusUpdater.url
, StatusUpdater.getStatus()
usw. auf Eigenschaften und Methoden des Objekts zugreifen.
<body onload="[code lang=javascript]StatusUpdater.getStatus()
">[/code]
oder besser in JavaScript (wieder mit bind
, damit this in getStatus
auf StatusUpdater
zeigt):
window.onload = StatusUpdater.getStatus.bind(StatusUpdater);
oder besser mit einer addEvent-Helferfunktion, damit man irgendwann mehrere Event-Handler registrieren kann:
addEvent(window, 'load', StatusUpdater.getStatus.bind(StatusUpdater));
Anstelle dieses ständigen wiederholten Bindings kann man Funktionen einmal binden und dann StatusUpdater.getStatus
mit der gebundenen Funktion überschreiben, z.B.
StatusUpdater.getStatus = StatusUpdater.getStatus.bind(StatusUpdater);
Damit ist garantiert, dass this
darin immer auf StatusUpdater
zeigt, auch wenn ich die Funktion als Event-Handler verwende oder setTimeout
übergebe.
Mathias