Jquery ('#iframeid').load() ausgeführt wird, bevor der Iframe-INHALT (text, Bilder) geladen werden

Ich versuche, Zugriff auf Daten von einem Iframe das Iframe. Zu zwingen, meine javascript-Funktion zu warten, benutze ich jqueries .load-Funktion. Doch mein javascript-code ausgeführt wird, "manchmal" vor der iframe-Inhalt vollständig geladen ist. Durch manchmal meine ich, dass das Verhalten ist unterschiedlich für verschiedene Computer. Auf langsameren Computern wartet er die meisten Zeiten, die für den Fastenden Computer den code bekommt fast immer ausgeführt. Also ich vermute, dass der Internet explorer 8 löst das onload-Ereignis zu früh. Gibt es eine jquery-Funktion zu warten, bis alle Elemente in einem iframe geladen werden?

Dies ist mein code:

function parsePeopleLink(){
try{
    //This is where I check if the wanted I frame already exists
    if(document.getElementById('isolatedWorkArea') != null) {
        if(window.frames[2] != null) {
            if(window.frames[2].name == 'isolatedWorkArea') {
                //This is where I want the following code only to be executed when the Iframe's content is fully loaded, otherwise I get an access denied error when trying to change Userlinks
                $('#isolatedWorkArea').load(function() {
                    for( var i = 0; i < window.frames.length; i++){
                        for(var j = 0; j< window.frames[i].document.frames.length; j++){
                            IframeDocument = window.frames[i].document.frames[j].document;
                            changeUserLink(findPeopleIDfix(findPeopleID(IframeDocument)),findUserLinks(IframeDocument),8, IframeDocument);
                        }
                    }
                });
            }
            else {
                throw e; //I know that all the nested else statements are ugly, I just inserted them for testing purposes
            }   
        }
        else {
            throw e;
        }
    }
    else {
        throw e;
    }
}
catch(e) {
    //alert(e.description);
    for(var k = 0; k < window.frames.length; k++)
    {
        IframeDocument = window.frames[k].document;
        changeUserLink(findPeopleIDfix(findPeopleID(IframeDocument)),findUserLinks(IframeDocument),9, IframeDocument);      
        iframeindex++;
    }
  }
}

Alle Iframes haben: gleicher port, Protokoll, und src.
Hilfe ist sehr willkommen

InformationsquelleAutor Abhischek | 2011-08-11

Schreibe einen Kommentar