Erkennen von DOM-Bereit-Zustand In einem iFrame (jQuery)

Ich habe ein Skript ausgeführt wird, in einem Dokument, das möglicherweise oder möglicherweise nicht geschachtelt werden, in einem iframe. Ich habe aussortiert, die das Problem der Erkennung der verschachtelten, aber ich kann nicht herausfinden, wie zu erkennen der Zustand des DOM, wenn es ist ein iframe.

Hier ist, was ich bereits:

if (window.self !== window.top) {
    //is nested
    //DOM ready test here
        //execute code here
} else {
    //is not nested
    $(document).ready(function() {
        //execute code here
    });
}

Habe ich schon gelesen dieser Beitrag, aber ich sehe nicht die Antwort auf meine spezifische Frage. Ich kann Missverständnisse die Lösungen, die dort, so fühlen sich frei, mich zu korrigieren.


BEARBEITEN:
Dies scheint eine Fancybox Problem. Dieser code:

alert(document.getElementById('username').className);
document.getElementById('username').focus();

Sehe ich eine Warnung mit dem richtigen Wert, aber das form-element nicht den Fokus erhalten. Das sagt mir, dass es nicht ein Problem mit der Erkennung der DOM fertig ist-Zustand. Das original-Skript habe ich versucht zu nutzen, war dies:

$(document).ready(function() {
    $('input.focus:last').focus();
});

EDIT 2/LÖSUNG:
Ich musste greifen, um eine Fancybox spezifische Lösung, denn es scheint eine Fancybox Problem. Fügte ich diese Zeile, um die Konfiguration für diese Fancybox iframed Formen:

'onComplete':function(){$('input.focus:last').focus();}
Wenn Sie die ready-Funktion auch, wenn es verschachtelt ist, sollte es funktionieren...
$(document).ready(function() funktioniert nicht in meinem iframe. Diese spezifische iframe dynamisch generiert Fancybox. Ich möchte eine Lösung, die nicht spezifisch für Fancybox obwohl.

InformationsquelleAutor Sonny | 2010-02-01

Schreibe einen Kommentar