Hallo Mathias,
Browserabfragen über unbeteiligte Objekte sind meistens Käse.
hmm, stimmt natürlich und klingt doch sehr überzeugend ;-)
Habe es nun so gemacht:
if (window.frames["lejs_input"].document.body && window.frames["lejs_input"].document && (typeof(window.frames["lejs_input"].document.body.innerHTML)) != "undefined") {
var db=trim(replaceHtml(window.frames["lejs_input"].document.body.innerHTML));
}
else if (window.XMLHttpRequest){
var request = new XMLHttpRequest();
request.open("GET", lejs_db_url, false);
request.send(null);
var db = trim(replaceHtml(request.responseText));
}
else {
return false;
}
Somit sollte ja, wenn keiner der ersten beiden Bedingungen zutrifft, nichts mehr passieren - also die Funktion abgebrochen werden, oder?
http://home.media-n.de/13881/lejs_db_kreisliga_vorpommern_0203.html
Beim iframe-Element sollte ein load-Event passieren, wenn der Inhalt fertig geladen wurde. Erst dann solltest du mit dem Lesevorgang beginnen: <iframe ... onload="lese()"></iframe>. Alternativ den onload des ganzen Dokuments nutzen, was aber eine sichtbare Verzögerung zur Folge hätte.
Das mache ich bereits, zwar noch einen Tick später mit window.onload=startlejs; aber nachdem selben Prinzip.
Ich möchte aber das IFrame _im_ JavaScript verbauen, also mit createElement zB. Das hat offline auch ganz gut funktioniert - finde leider die Version nciht mehr. Als ich es aber hochgeladen habe, ging es ohne refresh nicht - das Frame war also zum Zeitpunkt des lesevorgangs noch nicht (vollständig) geladen. Auch die If-Abfrage, ob das Frame da ist, hat nichts genutzt :-(
Weisst wie ich meine?
Mit freundlichem Gruß
Micha