jquery 我们可以控制浏览器标签中的“加载”图标吗?[副本]

shyt4zoc  于 2023-10-17  发布在  jQuery
关注(0)|答案(5)|浏览(83)

此问题已在此处有答案

How to manually show tab loading indicator via javascript?(4个答案)
关闭7天前。
我有一系列通过jQuery的AJAX调用。当正在执行自动呼叫时,没有视觉指示。通常情况下,如果你点击一个链接或其他一些非自动加载,浏览器会在标签中显示一个加载图标。
有没有办法让浏览器在标签页中显示这个小图标?(大约有30个这样的调用,所以我希望避免修改每一个)。

s3fp2yjn

s3fp2yjn1#

不,你不能告诉浏览器这样的事情。
但是你可以做你自己的装载指示器。在标记中包含隐藏元素,然后使用ajaxStartajaxStop事件来控制其可见性:

$("#loading_animation").bind({
    ajaxStart: function() { $(this).show(); },
    ajaxStop: function() { $(this).hide(); }
});

ajaxStart由jQuery在没有其他请求运行时启动一个apache请求时触发; ajaxStop在一个apache请求完成且没有其他请求运行时触发。

4urapxun

4urapxun2#


但是你可以修改光标的css。

body {
   cursor:wait;
}
kokeuurv

kokeuurv3#

你绝对可以。请看这篇文章:Changing website favicon dynamically
只需创建一个加载图形的动画图标,并在加载时将图标更改为该图标。
问题是,你没有完全相同的加载图形作为特定的浏览器使用,但我认为信息将有效地传达。

slsn1g29

slsn1g294#

在进入任何代码或任何东西之前,我只想说这是一个丑陋的解决方案,但它确实对我有效。
我所做的就是在网站上放一个iframe。然后用 *display隐藏它:在CSS中没有 *。
然后,在每次访问时,我都会重新加载iframe的新页面。这将导致浏览器在选项卡栏中显示加载。
我知道这不是一个好的解决方案,它有一些缺陷。就像你不能控制加载的持续时间,如果iframe的加载速度比aprame快。但我只是把它扔在那里。也许其他人可以建立在这个概念上。

vm0i2vca

vm0i2vca5#

这里有一个选择。
在进行调用之前,您可以显示图像,然后在函数中(而不是在调用之后)再次隐藏它。

相关问题