3

这可能是一个延伸,但我想知道它是否可能。

我正在开发一个使用 PHP 作为其后端的网站。问题是,我正在运行的一些 PHP 脚本非常冗长,并且可以转换为可能持续几秒钟的页面加载时间。

理想情况下,我可以在页面加载时显示加载图标,但情况因页面而异:

  • 在某些情况下,页面是第一次加载,
  • 在其他情况下,页面在提交同页表单后重新加载,
  • 有时表单由页外脚本处理,然后重定向回表单所在的页面(在这些情况下,由于外部脚本中没有回显,用户不知道正在处理脚本其他地方,因为页面内容不会改变)。

我知道在每种情况下都可以显示加载图标,具体取决于触发器,但找不到在页面简单加载时显示图标的通用解决方案(无论触发器如何)。

我注意到某些浏览器在页面加载时会在网站图标的位置显示一个加载图标(或者,至少,谷歌浏览器会这样做)。是否可以知道浏览器加载图标何时处于活动状态并同时显示页面加载图标?

如果没有,任何替代解决方案将不胜感激。

4

1 回答 1

0

缓冲

如果您的 PHP 脚本导致加载缓慢,您必须将它们放在缓冲区中。因此,加载完成后,您可以释放此缓冲区。

这并不难实现。

请参阅 PHP 输出缓冲控制文档: PHP 输出缓冲控制


完成缓冲区的加载

你可以这样:http: //jsfiddle.net/S9uR9/

    $(window).load(function () {
        //hideLoading();
    });

    hideLoading = function() {
        $('.loading').fadeOut(2000, function() {
            $(".content").fadeIn(1000);        
        });
    };

    hideLoading();

在您的页面中,尝试删除$(window).load()function 中的注释行并注释最后一行hideLoading();


检测浏览器的活动

我注意到某些浏览器在页面加载时会在网站图标的位置显示一个加载图标(或者,至少,谷歌浏览器会这样做)。是否可以知道浏览器加载图标何时处于活动状态并同时显示页面加载图标?

您可以尝试另一种选择。您可以检测网络活动。这实现起来更复杂,但更有趣,主要是如果您想要一种移动方法。

看这篇文章,能帮上忙。

于 2013-09-06T14:44:00.730 回答