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

Show loading icon whenever the browser loading icon is active

本文关键字:加载 图标 活动状态 显示 浏览器      更新时间:2023-09-26
这可能是

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

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

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

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

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

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

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

缓冲

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

这并不难实现。

有关此内容,请参阅 PHP 输出缓冲控制文档:PHP 输出缓冲控制


完成缓冲区的加载

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

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

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


检测浏览器的活动

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

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

看这篇文章,可以帮忙。