2013-02-28 83 views
0

如何通過javascript將頁面保持爲假加載狀態?我有一個頁面,我設置爲$('body')。hide(),直到它完成加載AJAX請求,然後頁面設置爲$('body')。show()。與此同時(大約2秒)頁面保持空白,瀏覽器圖標停止加載,然後顯示內容或重定向到另一頁面(根據返回的AJAX變量)。如何將頁面保持爲假加載狀態

有什麼辦法可以使瀏覽器保持加載狀態,即使它沒有加載任何東西?只是似乎它仍然在加載內容。

我已經試圖建立類似:

while(page_loading()) 
    var l = 1; 

但隨後的瀏覽器崩潰。我如何強制這個「假」的狀態?

編輯:

對不起,我忘了提前:我想保持頁面的空白像往常一樣,沒有任何加載GIF或類似的東西,但迫使瀏覽器上加載狀態。瀏覽器加載頁面時,會出現一個加載圖標,該圖標會一直顯示在瀏覽器選項卡上或狀態欄上的消息中。我知道這些特定的狀態不能直接用javascript來改變,所以我認爲有一種方法可以使瀏覽器保持這種加載狀態,使用一些無限循環的HTML請求或類似的東西。如果我設置「光標:等待」,則瀏覽器選項卡仍將變爲「完成狀態」。

+0

'html,body {cursor:wait; }' – 2013-02-28 18:01:30

+0

你要麼是令人難以置信的誤導,要麼是不好。 – 2013-02-28 18:55:50

+0

誤導?我只想在Ajax仍在執行時保持瀏覽器處於繁忙狀態。 – user1410363 2013-03-01 12:18:48

回答

1

使用加載動畫作爲yourdeveloperfriend表明可能是要走的路。但是,您可以近似使用cursor: wait頁面加載:

html, 
body { 
    cursor: wait; 
    height: 100%; 
    width: 100%; 
    margin: 0; 
    padding: 0; 
    background: #555; 
    color: white; 
    text-align: center; 
} 

setTimeout(function unwait() { 
    document.body.style.cursor = 'default'; 
    document.body.innerHTML = 'Loaded.'; 
}, 3000); 

http://jsfiddle.net/8cxA7/

顯然,這只是一個演示。在我看來,選項卡圖標應該單獨保留,因爲一些瀏覽器會緩存他們首次看到並保存在該圖標上的內容以獲得寶貴的生命。

+0

謝謝,「光標:等待」是我發現的「忙碌狀態」 。 謝謝! – user1410363 2013-03-04 20:16:35

1

處理這個問題的標準方法是創建一個出現和消失的加載gif。您可以create your own gif並下載它。然後,當頁面開始加載:$("#mygif").show();,當它完成,$("#mygif").hide();

相關問題