Struppi: Skript, dass prüft, ob bestimmte ID existiert..(? - Probleme)

Beitrag lesen

... habe mich mit diesem Code eng an dein Ausgangsbeispiel gehalten, und überprüfe jetzt in kurzen Intervallen, ob der iframe geladen werden kann.

function checklayer(url_name)
{
with (parent.mainFrame) {
  if (document.getElementById('datamain')) {
   frames[0].location.href = url_name;
    }
   else {
   var fr_oben="fr_oben.html";
   if (location.href.indexOf(fr_oben)<0){
      location.href = fr_oben;
    }
   window.setTimeout(function(){checklayer(url_name);},50);
  }
}
}

50 Millisekunden finde ich zu kurz, ich sehe auch nicht wo die Abbruchfunktion ist (oder übersehe ich was?) und dann musst du auch auf das vorhandensein von .document checken.

ich würd's eher so machen:

  
function checklayer(url_name)  
{  
var frame = parent.mainFrame; // Das Frame worum es sich dreht  
with (parent.mainFrame) // ist das frame geladen  
{  
    if(document)  
    {  
    var iFrame = document.getElementById('datamain');  
    // Existiert das iFrame  
    if(iFrame)  
    {  
         iFrame.location.href = url_name;  
         return; // ... und fertig  
    }  
    // kein iFrame, checken ob die Seite mit iFrame geladen wurde  
    var fr_oben = "fr_oben.html";  
    if (location.href.indexOf(fr_oben) < 0) location.href = fr_oben;  
}  
// 1/4 Sekunde sollte i.O. sein  
window.setTimeout(function(){checklayer(url_name);}, 250);  
}  

Struppi.

--
Javascript ist toll (Perl auch!)