【发布时间】:2010-09-20 10:18:33
【问题描述】:
我已经编写了一个非常类似于 flickr 照片流功能的脚本。两个彼此相邻的缩略图,当您单击下一个或上一个链接时,下一个(或上一个)两个图像滑入。太酷了!
当前,当页面加载时,它会加载两个图像。第一次使用 nxt / prv 然后通过 ajax 加载接下来的两个图像或前两个图像,第一个图像的 id 在 url 中传递,两个新图像的 HTML 通过 ajax 返回和显示。
很简单,但它让我开始思考,在连接速度较慢或服务器负载较重的情况下,这两个图像,虽然相对较小的缩略图仍然需要一段时间才能加载,而滑动窗格的好处是隐藏的数据可以快速流畅地滑入,最好没有加载延迟。
所以我想从性能和良好实践的角度来看哪个选项最好,这是我现在能想到的,欢迎提出建议。
1、通过JSON调用每组图片(应该很快吧?)
2,将所有可能的图像加载到 json 文件中并以这种方式提取详细信息 - 尽管浏览器仍然需要加载图像。另外,有时可能有 4 张图片,有时可能多达 1000 张!
3,通过php将10张图片加载到Json或其他文件中,并将所有10张图片加载到浏览器中,隐藏未显示的8张,始终显示中间两张。这里的问题是,每次有人点击时,文件都必须重新加载第一个和最后一个图像,这仍然需要时间,尽管我想现在中间的图像已经全部通过浏览器缓存了。但仍然有加载时间。
4,是否有可能有一个包含所有图像细节(不管数字)的 json 图像并使用上面的 3 来加载其中的 10 个图像,是否可以使用 ajax 只读取 10 行并保留一个指针它读取的最后一个,因此可以快速加载json文件,刷新时间短,并且两边的图像都通过浏览器缓存!!
希望这很清楚,关于如何处理这个问题有什么建议吗?
【问题讨论】:
-
JSON 是一种基于文本的传输格式,我认为它不会为预加载图像提供任何好处?
-
是的,我想更多的是它包含图像 url,然后我可以通过 ajax 加载,而不是每次都通过 php 请求,也许只是一种更快的方式来“获取”信息?跨度>
标签: php ajax json performance loading