1

我想为我的应用程序上的所有页面包含一个页面预加载器。类似于 Gmail 在后台加载整个页面时显示的内容。我不希望预加载栏只是在整个页面在后台加载并显示成功加载时立即显示预加载消息的机制。

以网站为例:http ://www.emirates.com/ae/english/只需搜索任何航班 - 您会看到一条预加载消息,然后加载页面。我在这里看不到任何重定向。

我如何实现这一点 - 我的网站是使用 php 和大量 javascript 构建的。

4

3 回答 3

2

我会为 <body> 元素的所有内容使用包装器 DIV 元素,并通过CSS 可见性属性隐藏它。确实使用了 javascript,最后我会显示 DIV 元素。当显示 DIV 元素时,预加载器将被绝对定位并隐藏。

Visibility 属性的优点是,当您将其更改为值时,布局将准备好visible(与属性display不同)

编辑:我认为你几乎总是可以避免预加载器。您可以通过索引加速您的 sql 查询。显示较少的结果等等。我个人不喜欢等待,并且预加载器并没有给我太多安慰。

于 2010-07-25T11:51:22.923 回答
2

您的 HTML 会写出一个预加载消息,然后您设置一个 javascript onload 事件。此事件调用 JavaScript 代码通过 AJAX 加载您需要的任何数据,然后最终隐藏加载消息并显示实际页面。

当然,这意味着没有 JavaScript 的人会遇到问题——你必须为他们整理一些东西,或者决定没有它们你也能活下去。

补充:哦,您可能需要先查看您所在国家/地区的残疾人法律,然后再决定您是否可以在没有这些法律的情况下生活 - 您可能有法律责任让残疾人可以访问您的网站。我只在严重依赖 JS 的网站上使用过这种技术,没有它就无法运行。注意 GMail 有 2 个接口 - 一个 JS 和一个纯 HTML。这就是他们使他们的服务可访问的方式。

添加:http ://code.google.com/p/bobchess/是我已经完成的一些代码。加载消息,然后是 onload 事件以启动应用程序。

于 2010-07-25T11:53:55.087 回答
0

我同意 MartyIX,但问题是您的系统可以处理的查询数量,索引是一种选择,但它取决于您服务器上的事务量。我确实认为我们错过了整点,我们打算美化网站的预加载器,所以客户在等待时不会看到丑陋的空白页面 :)

于 2013-01-16T06:59:52.237 回答