javascript - html,在等待图像时使页面显示就绪(没有标签旋转轮)

标签 javascript jquery html

我有一个页面可以加载来自各种来源的图像。有时这些图像无法加载;也许链接已经失效或其他什么。没关系。

令我困扰的是,浏览器可能需要 6 秒甚至更长的时间(我见过 20 秒),然后才确定图片加载失败。在此期间,Chrome 选项卡中的旋转加载轮一直在转动,让我的页面看起来好像还没有准备好。

我已经将我的 javascript 加载从 onload 切换到 $(document).ready() 所以至少我的页面在等待图像加载时不会处于非事件状态。但它可能看起来好像是。

但是,当我的页面只是在等待图像时,有没有什么方法可以让我的页面看起来“准备就绪”(没有旋转轮)?也许另一种加载图像的方式?我目前使用带有 src 的 img 元素。还是让它早点放弃的方法?确定一个图片链接失效真的需要 6 秒吗?

不确定这是否有解决方案。这是我在很多网站上看到的问题,不仅仅是我的,但它让我抓狂。我会经常点击 stop-loading-x 让它停止!我至少希望我自己的网站不是那样。

最佳答案

根据我的测试,对于由 Javascript 触发加载的图像元素,Chrome 中的加载指示器不会显示。因此,如果您不介意在禁用 javascript 的情况下不加载图像,您可以发送未设置 srcimg,并在页面加载时设置它。您可以将 URL 存储在 data-src 中。好处是,如果您愿意,您可以控制何时加载图像(尽管您可能想为此使用插件,如 Roullie's answer 建议)。


<img width=100 height=100 class="async-img" data-src="http://www.example.com/some.png">

...

$(document).ready(function(){
  $(".async-img").each(function(){
    this.src = $(this).data("src");
  })
})

关于javascript - html,在等待图像时使页面显示就绪(没有标签旋转轮),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18799139/

相关文章:

javascript - 获取给定索引的数组的下一个和上一个元素

javascript - 计算文本区域行数

javascript - 让另一个 div 滚动到另一个 div

javascript - 基于外部数组Knockout JS的计算属性

javascript - 对 JavaScript 对象数组进行排序不起作用

javascript - 何时(或如何)使用 RactiveJS 设置 jQuery 事件处理程序?

javascript - 为什么实际的鼠标点击不起作用,但在 JS 控制台中执行 .click() 却可以?

php - 简单的 Foreach 循环与棘手的情况

javascript - 单击按钮重置下拉选择器

javascript - 用空值填充稀疏数组(如压缩两个数组)