2011-01-07 9 views
1

私は何ができるかはわかりません。しかし、私がAJAXリクエストを開始するたびに、ブラウザにprocessingイベントを送りたいので、リクエストが完了するまで進行中のバーが表示されます。カスタムイベントをブラウザに送信

これは可能ですか?はいの場合は、リソースを修正するように教えてください。

+0

これを参照してください - のhttp://docs.jquery.com/UI/Progressbar – Vivek

+2

@Vivek以下@answerers ...ちょうどタイトルの質問に正しく読んでいないしてください... @Starxを望んでいます**ネイティブ**ブラウザスピナーとプログレスバー。 –

+0

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

答えて

1

スピナーをプログラムでアニメーション化する方法はありませんが、a hidden iframeを使用して振る舞いをシミュレートできます。 iframeがロードされている限り、ブラウザはスピナーをアニメーション化します。

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

さて、次にページを読み込んだり、POSTリクエストを送信したり、隠れたiframeを利用して読み込みをシミュレートする方法完了。 – Starx

+0

Iveは上記のサンプルコードを追加しました。それは私のために働くが、この解決策は一種のハッキーのようだ。あなたは本質的にUIの効果を得るためにネットワークトリップを使用しています。 –

+0

あなたが言ったときにdummy.htmlを十分に大きなファイルにする、それが私のAjaxリクエストに相対的なものになるのでしょうか?私が要求しているページは十分に小さいものです。私は混乱しています。私は迷惑を掛けず、これをクリアするのを手伝ってください。 – Starx

関連する問題