浏览器加载图标处于活动状态时显示加载图标

时间:2013-09-06 13:23:20

标签: php javascript html ajax browser

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

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

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

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

据我所知,根据触发器的不同,每种情况都可以显示加载图标,但无法找到只需加载页面时显示图标的常规解决方案(无论触发器如何)。

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

如果没有,我们非常感谢任何替代解决方案。

1 个答案:

答案 0 :(得分:0)

<强>缓冲

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

这并不难实施。

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


完成缓冲区的加载

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

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

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

    hideLoading();

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


检测浏览器的活动

  

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

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

See this article,可以提供帮助。