mpvue-wxParse icon indicating copy to clipboard operation
mpvue-wxParse copied to clipboard

能支持图片懒加载吗?

Open fangdiao opened this issue 7 years ago • 24 comments

若富文本图片较多时,会导致页面非常卡顿

fangdiao avatar Apr 12 '18 03:04 fangdiao

应该是可以实现的,但是我最近估计没时间做,

F-loat avatar Apr 12 '18 04:04 F-loat

大佬能说下实现原理吗,我自己试着做下

fangdiao avatar Apr 12 '18 04:04 fangdiao

看了下 image 元素从 1.5.0 起有了 lazy-load 属性,这个属性能满足需求吗,自己做应该是要用到 wx.createSelectorQuery 这个 api 才行,也要 1.4.0 才支持

F-loat avatar Apr 12 '18 04:04 F-loat

请问使用wx.createSelectorQuery的目的是什么,直接在富文本转换的时候就加上lazy-load,这样可以吗

fangdiao avatar Apr 12 '18 04:04 fangdiao

嗯,lazy-load 这个属性我最近加一下,需要通过 wx.createSelectorQuery 取得元素的位置信息的吧

F-loat avatar Apr 12 '18 04:04 F-loat

我看文档没有说明需要image元素的位置信息,只需要在page或者scroll-view中。应该是给image加上lazy-load就行了

fangdiao avatar Apr 12 '18 04:04 fangdiao

对。。我是说自己实现的话需要那个

F-loat avatar Apr 12 '18 04:04 F-loat

ok,我先给图片加上lazy-load

fangdiao avatar Apr 12 '18 04:04 fangdiao

嗯,预计会把图片相关的属性统一下,只保留一个 image 属性,以对象的形式传入,然后版本号改到 0.5.0 吧

F-loat avatar Apr 12 '18 04:04 F-loat

大佬预计什么时候改,我比较急,今天验收了。

fangdiao avatar Apr 12 '18 04:04 fangdiao

你先自己改下,我今天会弄,但是得先测试下

F-loat avatar Apr 12 '18 04:04 F-loat

ok,感谢大佬

fangdiao avatar Apr 12 '18 04:04 fangdiao

@fangdiao 更新了,你可以试试看

F-loat avatar Apr 12 '18 05:04 F-loat

没反应额,大佬。我再手机上查看元素时加上lazy-load属性了的。但是还是一来加载全部图片,是不是少了什么

fangdiao avatar Apr 12 '18 08:04 fangdiao

文档里有写只对 page 和 scroll-view 中的图片生效,可能和这个有关系吧

F-loat avatar Apr 12 '18 08:04 F-loat

用了scroll-view还是么反应。小程序最外层就是一个,自己加了page也还是不行。有毒

fangdiao avatar Apr 12 '18 08:04 fangdiao

给你提供个自己实现的思路,

  1. 通过一个属性把页面当前滚动到的位置传给 wxparse
  2. 在 wxparse 里 watch 这个属性
  3. transData.images 中的各项与 wxParseImg 组件中的 node 属性是对应着指向同一个对象的,所以遍历这个数组把 src 备份后设置为一张占位图即可
  4. 通过 wx.createSelectorQuery 可以获得各图片的位置信息,然后直接保存在 transData.images 里对应的对象中即可
  5. 当滚动到一定位置时,修改相应图片的 src 值,在 js 里加载完成再改更好点

F-loat avatar Apr 12 '18 16:04 F-loat

好的,感谢大佬。明天我试试。

fangdiao avatar Apr 12 '18 16:04 fangdiao

请问里面的startHandler自定义事件怎么用啊?我是小白,大神求助,这个startHandler是不是和小程序的监听触摸开始事件touchstart功能类似?在线等....

ReedZuo avatar May 14 '18 08:05 ReedZuo

@ReedZuo 不是的,那几个不是事件,是 html 解析函数的几个钩子,目前的事件只有 preview 和 navigate 两个

F-loat avatar May 14 '18 08:05 F-loat

@F-loat 多谢大佬解疑

ReedZuo avatar May 15 '18 08:05 ReedZuo

最新版本解决图片懒加载的问题了吗?

htfcumt2004 avatar Jun 01 '18 02:06 htfcumt2004

@htfcumt2004 目前没有做额外处理

F-loat avatar Jun 01 '18 02:06 F-loat

刚才在看还没能够懒加载

htfcumt2004 avatar Jun 01 '18 02:06 htfcumt2004