【问题标题】:How to load image in order?如何按顺序加载图像?
【发布时间】:2009-08-24 10:40:06
【问题描述】:

我正在使用 php。我把图片整理得井井有条。当我查询图像时,图像是按顺序排列的,但是当它们加载时,它们不会按顺序加载。先加载小图像,然后加载大图像。例如,我有 5 张图片。这些图像应按顺序加载(1,2,3,4,5)。但在这里它没有发生。图像 4 首先加载,然后是 2、1 等等。那么我能为这个问题做些什么呢?希望得到解决。

提前致谢。

【问题讨论】:

  • 哪个平台/语言?
  • 你能发布代码吗?以及如何保持图像?是表记录吗?

标签: php html image


【解决方案1】:

如果您说的是通过网络浏览器显示的顺序图像,那么您对此没有太多控制权,只要您的页面上有多个 <img> 标签:

  • 浏览器将按照它想要的顺序从服务器请求图像(很可能,遇到的第一个<img>标签将是第一个请求的图像)
  • 每张图片都需要一些时间来下载;并且每个图像在下载时都会显示;考虑到应该更快地下载小图像,应该首先显示小图像...取决于它们被请求的顺序 - 请参阅上一点。

最后,如果您想绝对控制图像的显示顺序,您的初始 HTML 可能不应该包含所有 <img> 标签:一个解决方案是按正确的顺序添加这些标签,而前一个图片已下载。

这可能可以通过一些 JavaScript 代码来完成,以检测何时加载图像 (event "load") ;并且当加载图像时,只需在页面上添加一个新的<img> 标签,用于下一个;等等。
但我不会有这样的想法:如果禁用 JS,它将无法工作,搜索引擎将不会看到您的图像。

【讨论】:

    【解决方案2】:

    您可以控制网络服务器上的所有内容,但无法控制网络或浏览器端。

    一个可能的解决方案是构建一个包含五个图像的单个图像,并将每个相关部分显示到其专用位置。

    【讨论】:

      【解决方案3】:

      您是否尝试过使用 JavaScript 库预加载它们?

      【讨论】:

        【解决方案4】:

        不确定如何在 PHP 中实现这一点,但过去我通常为每个图像设置一个“订单”字段,然后根据“订单”字段动态添加图像。

        【讨论】:

          【解决方案5】:

          正如您应该猜到的那样,图像是根据它们的大小加载的。当然,较小的将在较大的之前加载。是的,正如 eyze 所说,你用 javascript 预加载器预加载它们并以正确的顺序显示它们?

          【讨论】:

            猜你喜欢
            • 2014-11-03
            • 1970-01-01
            • 1970-01-01
            • 2013-04-11
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多