2011-01-07 4 views
1

Je ne sais pas ce que je demande est faisable ou non. Mais, chaque fois que je lance une requête ajax, je veux envoyer l'événement processing au navigateur, afin qu'il affiche le cercle tournant dans l'onglet et affiche une barre de progression, jusqu'à ce que la requête se termine.Envoyer des événements personnalisés au navigateur

Est-ce possible? Si oui, pouvez-vous me désigner pour corriger la ressource.

+0

Envoyer cette - http: //docs.jquery.com/UI/Progressbar – Vivek

+2

@Vivek et @answerers ci-dessous ... s'il vous plaît lire la question correctement et non pas seulement le titre ... @Starx veut la ** spinner du navigateur ** natif et barre de progression. –

+0

ok .................... – Vivek

Répondre

1

Il n'y a aucun moyen de rendre le spinner animé par programmation, mais vous pouvez simuler le comportement en utilisant a hidden iframe. Tant que le iframe est en cours de chargement, le navigateur va animer le spinner.

var doneLoading = false; 

var simulateLoad = function() { 
    var ifrm = document.createElement('IFRAME'); 
    //make dummy.html a sufficiently large file 
    ifrm.setAttribute('src', 'dummy.html?' + Math.floor(Math.random()*100)); 
    ifrm.style.display = 'none'; 
    ifrm.onload = function() { 
     if(!doneLoading) { 
      document.body.removeChild(ifrm); 
      simulateLoad(); 
     } 
    } 
    document.body.appendChild(ifrm); 
} 

var startLoad = function() { 
    doneLoading = false; 
    simulateLoad(); 
} 

var endLoad = function() { 
    doneLoading = true; 
} 
+0

Eh bien, alors dites-moi, comment puis-je charger une page ou envoyer une requête POST et utiliser un iframe caché pour simuler leur chargement et achèvement. – Starx

+0

J'ai ajouté l'exemple de code ci-dessus. Cela fonctionne pour moi, mais cette solution semble un peu hacky. Vous utilisez essentiellement un voyage en réseau pour obtenir un effet d'interface utilisateur. –

+0

quand vous avez dit, pour faire dummy.html un fichier suffisamment volumineux, comment cela va-t-il devenir relatif à mes requêtes ajax ?, et si la page que je demande, est suffisamment petite. Je suis confus. S'il vous plaît ne me trouvez pas ennuyeux et aidez-moi à éclaircir cela. – Starx

Questions connexes