2009-08-08 79 views
5

我們已經收到了一個ajax請求, 30秒,然後將用戶發送到不同的頁面。在此期間,我們當然會顯示ajaxy spinner指示符,但瀏覽器也可能「出現」卡住,因爲瀏覽器客戶端實際上沒有工作或顯示它自己的加載消息。使用Ajax瀏覽器「繁忙狀態」

有沒有一種簡單的方法可以告訴所有主流瀏覽器使用JS命令來查看忙?

感謝, 乍得

回答

2

在這種情況下你需要使用AJAX嗎?您可以將其發佈/放到另一個頁面,其全部目的是處理請求,並且一旦完成重定向到目標頁面?

您仍然可以使用一些JS來彈出微調器,並且由於您正在發佈到另一個頁面,瀏覽器將顯示其「原生忙指示器」。瀏覽器不應該顯示中間頁面,一旦請求被處理,響應就會被重定向到目的地。

+0

很酷 - 是的,這可能是獲得原生指標的最佳方式 - 實際上它可以通過一個帖子進行工作。 謝謝我會改變一些事情。 – Chad 2009-08-09 21:41:13

0

jQuery的?

$('html').ajaxStart(function() { $('#busyindicator').show(); }); 
$('html').ajaxStop(function() { $('#busyindicator').hide(); }); 

但也許我不理解你的問題。 「看起來很忙」是什麼意思?你的意思是讓瀏覽器的進度條或原生忙指示器處於活動狀態嗎?不要以爲你可以這麼做...

+1

這聽起來像他已經做了類似的事情,想要更多,例如像你描述設置瀏覽器的本地忙指標。 – Josh 2009-08-08 14:50:01

+0

謝謝Scott!對不起,不清楚。是使用Ajax,並會嘗試後解決方案。 – Chad 2009-08-09 21:41:56

2

您可以將body的CSS cursor屬性設置爲「等待」。有了雛形,這將是這樣的:

$(document.body).setStyle({cursor: 'wait'}); 

相信這是jQuery代碼,有人請糾正我,如果我錯了,因爲我不是一個jQuery專家:

$("body").css("cursor", "wait"); 

這將使整個頁面在Windows上顯示沙漏鼠標光標,在Mac OS上顯示旋轉的觀察光標。

+0

雅這也是一個好主意....將是一個實際發佈請求獲得真正的本地指標的快速替代方案。 謝謝喬希。 – Chad 2009-08-09 21:43:08

+0

這很好,但不夠好。鉻選項卡圖標並不表示該應用程序正忙。 – sureshvv 2012-02-07 08:11:02