2013-02-11 181 views
3

我在申請工作將電腦上工作,以及的iPad,iPhone,平板電腦和Android手機。當用戶從一個頁面移動到另一個頁面時,我有一個要求顯示loading ... gif,因爲這會給用戶一個信息,表明頁面加載/卸載正在進行。顯示加載GIF BeforeUnload頁面

,所以我嘗試以下提到的代碼 ///下面的代碼顯示GIF而DOM還沒有準備好。

$(document).ready(function(){ 
    $("#loading").hide();}); 

//下面的代碼用於顯示GIF,當用戶點擊某個按鈕做一些服務器交互。

$(window).bind('beforeunload',function(){ 
     $("#loading").show();}); 

其中#loading是包含我的GIF代碼的div的id。 現在,這在PC瀏覽器上非常有效,但不在Ipad,Iphone和Android手機上。我無法弄清楚爲什麼。

<div id="loading"> 
    <img id="loading-image" src="/img/loading.gif" alt="Loading..." /></div> 

這個div是加載GIF。

+0

iOS上沒有'onbeforeunload'事件。您必須找到另一種顯示加載的方式。爲什麼不用ajax?見http://stackoverflow.com/questions/6205989/is-there-an-alternative-method-to-use-onbeforeunload-in-mobile-safari – YoannM 2013-02-11 05:12:53

+0

@YoannM我感謝你的幫助,但是當我們從一個頁面移動到其他那麼我們如何使用Ajax?這就是爲什麼我正在尋找一個jQuery/JavaScript的替代品。 – 2013-02-11 05:15:36

+0

您可以從當前頁面獲取其他頁面的內容。然後用新的替換當前的內容。這只是一個阿賈克斯電話。看看jQuery $ .ajax函數:http://api.jquery.com/jQuery.ajax/ – YoannM 2013-02-11 05:23:11

回答

0

嘗試unload

$(window).unload(function() 
{ 
    $('body').html('<img src="img/4.gif" alt="" />'); 
});
+0

..它沒有奏效。我以前試過這個。 – 2013-02-11 06:05:28

+1

因爲瀏覽器發送其他http請求並清除舊數據,因此在加載新頁面和卸載舊頁面之前沒有運行代碼... – 2013-02-11 06:11:05