mipengine / mip2

MIP (移动网页加速器)通过优化网页JS、控制资源加载顺序,达到加速网页的效果。
https://www.mipengine.org/
MIT License
184 stars 49 forks source link

mip-img 和 mip-firstscreen-element #628

Closed wangzh1010 closed 5 years ago

wangzh1010 commented 5 years ago

BUG 描述 为什么不仅在首屏图片中,mip-img 被标记为了 mip-firstscreen-element,第二屏也被标记了 在performance中根据图片全部被加载确定首屏的截至时间 复现步骤 重新复现 Bug 的步骤

  1. Go to 测试页面
  2. F12打开控制台
  3. 输入document.querySelectorAll('[mip-firstscreen-element]')回车

期望结果

截图 如果合适,添加问题相关的截图

环境及版本信息:

其他信息

wangzh1010 commented 5 years ago
  prerenderAllowed (elementRect, viewportRect) {
    let threshold = viewportRect.height
    return viewportRect.top + viewportRect.height + threshold >= elementRect.top &&
      elementRect.top + elementRect.height + threshold >= viewportRect.top
  }
Ricardo-Li commented 5 years ago

这并不是 bug,可以认为是一个 feature。因为 MIP 主要用于移动端,在 MIP 中不仅要保证首屏速度,也要保证滚动的下一屏能快速渲染。因此 mip-firstscreen-element 标记用于 MIP CDN 进行针对性的预渲染等优化,MIPFirstSceen 用来记录这一指标。

如果你想进行准确的性能统计,建议直接使用 window.performance.timing。