【问题标题】:Slickgrid in the Android Browser (inner-div scrolling)Android 浏览器中的 Slickgrid(内部 div 滚动)
【发布时间】:2012-04-07 04:17:40
【问题描述】:

Android 浏览器无法滚动内部 div。这意味着使用默认配置的 SlickGrid 是不可能的。

幸运的是,SlickGrid 有一个 autoHeight 参数,使其不使用内部可滚动内容,因此它适用于 android。不幸的是,当启用 autoHeight 时,onViewportChanged 会被调用一次以跨越整个视口,并且永远不会再次调用,因此它会尝试一次加载所有数据。我正在延迟加载和显示如此多的远程数据,如果你尝试一次加载所有数据,它会使移动设备崩溃,所以这是不行的。

如果 SlickGrid 足够聪明,即使启用了 autoHeight,也可以知道屏幕上的内容,那将解决我的问题。如果这是核心功能,我会很高兴,因为这将解决桌面和 Android 设备上的许多问题。

我还尝试使用 iScroll 4 来绕过 Android 限制。不幸的是,当我使用 iScroll 时,它根本不会触发 onViewportChanged。

我可能不得不放弃或修改 onViewportChanged 来处理我自己的滚动事件来解决这个问题。不过,我想知道是否有现成的解决方案。

【问题讨论】:

    标签: android scroll slickgrid


    【解决方案1】:

    为此,我最终写了my own version of slickgrid。此外,当 Google Chrome 成为默认浏览器时,这将变得无关紧要,因为它实际上对滚动提供了不错的支持。

    【讨论】:

      【解决方案2】:

      我不建议将 SlickGrid 用于针对移动设备的应用程序/页面。网格的开发并未考虑到移动设备。他们需要针对特定​​用例优化的完全不同的方法。

      【讨论】:

      • 我最终修改了 SlickGrid,以便在设置 autoHeight 时,它会查找其祖先以找到真正的可滚动视口区域并计算应该可见的区域。这样我就可以使窗口可滚动并仍然获得 slickgrid 的好处。不过,我的修改非常老套,并且与 slickgrid 的一些核心假设相混淆,因此需要我进行很多更改。
      • 你知道移动设备上的 slickgrid 有什么更好的替代品吗?
      • 我认为 Grooveshark(它使用 SlickGrid)做了类似的修改。如果您能够使这段代码更具生产质量,那将是对 SlickGrid 的一个很好的补充。
      • 我最终扔掉了我被黑的 slickgrid,只使用 slickgriddle 来满足我所有的移动需求。我给了它一个选项,使单元格始终与父单元一样宽,一切都很好。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多