2012-03-12 52 views
3

有没有办法告诉浏览器在页面加载时显示加载程序图像?加载页面时显示加载程序NO AJAX

我正在构建一个应用程序,它基本上是一个将在webview上加载的html5应用程序。所有文件都将位于设备本身,不存在与服务器的交互,因此AJAX无法使用。

如果用户导航到其他页面,则立即加载程序应该出现,然后在页面完全加载时隐藏。

这是可以使用JS完成的事情吗?

感谢

UPDATE:

我没有完全按照大家所提到的,显示在文件准备装载机,也显示出它,而网页获得的卸载,然后在文件准备好,但加载器在页面已卸载并且另一页尚未下载期间不可见。有没有办法将加载器绑定到浏览器而不是页面?

回答

2

有一个页面(PageLoader),它将使用ajax加载其他页面,然后可以显示加载程序。

PageLoader将以页面名称作为参数并加载页面。

+0

我认为阿贾克斯将无法正常工作,在镀铬它显示跨-origin错误,但它在Safari浏览器上工作,这就是我现在需要的。使用上面提到的技术@dhinesh。 – Harsha 2012-03-15 10:46:16

3

你可以做这样的事情

<body> 
    <div class="LoadingStyle" id="LoadingInfo"></div> 
    <div style="visibility:hidden" id="Content"> 
    <!-- All your content goes here --> 
    </div> 
</body> 

documentready你可以做这样

$(function() { 
    $("#LoadingInfo").hide(); 
    $("#Content").css("visibility", "visible"); 
}); 

的基本思路是,以展示一些东西,同时文件还没有准备好。

编辑

你可以用它玩。没有必要隐藏内容。你可以覆盖它绝对定位div并只隐藏它。

+3

请注意,您宁愿使用:'display:none;'或者您可能会收到不需要的滚动条。 – PeeHaa 2012-03-12 08:24:49

+0

@PeeHaa如果内容是'display:none;',内容中的图像是否会加载? – Oybek 2012-03-12 08:26:25

+1

当然:http://jsfiddle.net/nvdBU/ – PeeHaa 2012-03-12 08:36:37

4

您可以在所有内容(位置:绝对,100%宽度和高度)上放置加载屏幕,并在页面准备就绪时将其淡入淡出。

演示:http://jsfiddle.net/G8GkA/

<div id="page"> 
    <div id="loader"><span>loading...<span></div> 
     content.... 
</div> 

淡出负载(使用jQuery):如果没有服务器

$(function(){ 
    $('#loader').fadeOut(); 
});