新手问题 求推荐 lazy load 惰性延迟的一些思路

lehug · 2016年03月26日 · 最后由 lehug 回复于 2017年10月30日 · 2356 次阅读

要做一个电商首页,里面会有大量的图片与商品附属信息(如价格,标题等),打算基于用户体验考虑,楼层采用 lazy load 方式按需加载,没有做过这种项目,请问下以什么样的思路实现比较好?

我尝试去寻找了一些开源的 js 库,但是搜到的大多是图片延迟加载的,大概思路是原 img 的 src 中统一加载一个文件,然后真实加载的图片地址放在 data 属性中,需要时再赋值到 src 中请求服务器。但是我需要的不仅仅是图片,而是包含 div 样式,图片,价格,标题等信息等一串 html 文件。

基于我的需求,有成熟的插件可以使用帮我完成一部分东西吗?还是说完全需要我自己根据窗口位置或者鼠标移入等借用 ajax 获取数据并填充到对应位置?

求有经验的人士帮忙提供下思路,谢谢。

把需要渲染的 html 做成 component,利用一些比较流行的前端框架进行前端渲染。

这个需求其实是非常常见的,为了加快首屏,第一次请求返回的往往是整个页面结构。

  • 使用 ajax 请求,获取数据之后,前端拼接 html 字符串。
  • 使用 ajax 请求,后端直接拼接好的 html 字符串(想重用 rails partial).
  • 使用 js 发送 rjs 请求,后端 rails render rjs 模板。

三者最后都使用到 jQuery.html(模板字符串) 方法。

#1 楼 @gyorou 有哪些流行的前端框架可以使用呢?求推荐

#2 楼 @small_fish__ ajax 请求以及拼装字符串好处理,加载时机这块没写过,有别人封装好的 js 插件吗?

infinity scroll

提问问题不太好,当时楼层并不多,没充分意识到瓶颈更多的是图片的加载。

最终实现方案是:

  • 首页纯 html,无前段框架,保持轻
  • 楼层样式初次加载就携带了,预加载了楼层数据,前端根据楼层数据与样式填充了楼层数据
  • 图片借用了 lazyload,监控鼠标滚动,按需延后加载图片
  • 楼层加载比图片懒加载早
lehug 关闭了讨论。 10月30日 09:00
需要 登录 后方可回复, 如果你还没有账号请 注册新账号