2013-02-11 135 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