Comment utiliser un fichier javascript externe dans asp.net

J'ai écrit un script pour masquer et afficher un chargeur pour mon asp.net application web. Le script fonctionne très bien lorsqu'il est placé sur la ligne. J'ai essayé d'extraire le script dans un fichier externe et a reçu le message d'erreur suivant:

Erreur: La valeur de la propriété 'Pause' est null ou undefined, pas un objet de Fonction

J'ai essayé de chercher l'erreur, mais j'ai été incapable de trouver une solution au problème. Je suis nouvelle asp.net donc peut-être que je ne suis pas sûr de savoir comment la recherche de la bonne question.

Mon code en ligne qui fonctionne est:

<script type="text/javascript">

    function Pausing() {
        window.setTimeout(ShowLoader, 1);
    }

    function ShowLoader() {
        if ((typeof Page_IsValid === 'undefined') || 
            (Page_IsValid != null && Page_IsValid)) {
            var i = document.getElementById("loader");
            var img = document.getElementById("img");
            i.style.display = "block";
            setTimeout("document.images['img'].src=document.images['img'].src", 10);
            Endpausing();
        }
    }

    function HideLoader() {
        var i = document.getElementById("loader");
        i.style.display = "none";
    }

    function Endpausing() {
        window.setTimeout(HideLoader, 4000);
    }
</script>

L'événement d'appel est fixé à un asp:bouton de contrôle ci-dessous:

<asp:Button ID="btnGetReport" runat="server" OnClick="btnGetReport_Click" OnClientClick="Pausing();" />

J'ai enlevé le script en ligne et remplacé par ce...

<script type="text/javascript" src="../../Scripts/Loader.js"></script>

Script ajouté au fichier externe:

window.onload = initAll;

function initAll() {

    function Pausing() {
        window.setTimeout(ShowLoader, 1);
    }

    function ShowLoader() {
        if ((typeof Page_IsValid === 'undefined') ||      //asp page has no validator
                (Page_IsValid != null && Page_IsValid)) {
            var i = document.getElementById("loader");
            var img = document.getElementById("img");
            i.style.display = "block";
            setTimeout("document.images['img'].src=document.images['img'].src", 10);
            Endpausing();
        }
    }

    function HideLoader() {
        var i = document.getElementById("loader");
        i.style.display = "none";
    }

    function Endpausing() {
        window.setTimeout(HideLoader, 4000);
    }
}

Puis je recevoir le mentionné précédemment erreur.

Toute aide serait grandement appréciée!

  • faire de votre code en ligne le même que le fichier externe, et de voir si vous recevez le même message d'erreur. Allons-y avec votre débogage.
InformationsquelleAutor jfielaidof | 2012-07-02