Comment puis-je retarder document.prêt jusqu'à ce qu'une variable est définie?

Je suis en train de faire QUnit tests dans un IFRAME et ont un appel récursif à la fonction JavaScript qui se charge de tous les scripts de la page parent dans l'IFRAME avant de commencer QUnit. Cela fonctionne très bien. Mon problème est que certains de nos scripts utilisation de documents.prêt à faire des trucs de commencer.

Quelque chose comme:

$(document).ready(function () {
    //blah
});

à faire leur travail. Je préfère ne pas modifier le code de production juste pour compte pour les tests et je ne veux pas que ces de la production des scripts pour penser l'IFRAME document est "prêt" jusqu'à ce que tous les scripts est chargé.

Comment je peux retard "du document.prêt" lui-même?

Voici mon pseudo pour vous donner un exemple: une

scripts[0] = "/foo/bar.js";
scripts[1] = "/blah/blah.js";

function RecursiveScriptStart(){
    //I want to set document.ready = false right here!
    if(scripts.length == 0) {
        QUnitStart();
        return;
    }
    RecursiveScriptLoader(0, scripts);
}

function RecursiveScriptLoader(currentScriptID, scripts) {
    $.getScript(scripts[currentScriptID], function () {
        if (currentScriptID == (scripts.length - 1)) {
            QUnitStart();
        }
        else {
            RecursiveScriptLoader(currentScriptID + 1, scripts);
        }
    });
}


function QUnitStart() {
        //I want to set document.ready = true right here!
        QUnit.stop();
        QUnit.start();
}

Le code est similaire, mais implique un sélecteur jquery remplissage de la matrice "scripts[]" avec la balise JavaScript "src" propriétés.

Merci!

  • This question peut être utile.
InformationsquelleAutor David | 2011-05-16