Open ghost opened 9 years ago
很好的反馈,我周末看看抽个时间处理下
关于data-classPage这个API,还是不能满足需求。 首先局部过场是不支持手机后退操作的; 再一个不是所有局部过场都是小区域,很有可能就是一个类似page的页面切换,回过头来,后退操作还是想从临时过场回到当前页面的,仅仅不想插入到历史记录而已,这点比较难办;
就目前来说还是没有好的办法做到管理浏览器历史记录,单页应用复杂起来,如果不能做到移除操作,dom会越来越多。 借用Mobilebone.fallback方法中移除dom,最大的问题就是浏览器历史记录还存在,手机在后退操作过程中就会经常遇到空白页面!这种空白页面最大可能就是dom已经被移除。
一个bug 实例:点击加载(缓存, url过滤测试,历史无变化) 第一次点击,历史无变化;点击后退,再次点击,历史就会发生变化!
在反馈一个bug: 实例基本切换: 点击页面1-#&page1,点击刷新,此时看到,pageHome页面的loading也出现了!
好的,感谢反馈。
一般Android手机的卡顿主要在渲染上。DOM如果隐藏,不参与回流与重计算,对渲染性能没有影响。
选择器使用,可以尽量少使用document全局获取,可以走page,提高性能。
DOM存在的问题主要是内存占用。移动页面,一个页面几十K已经算挺大的了。事件这块,建议走全局委托,减小开销。
data-history 我这管用
1、如何由开发人员自主控制哪些a链接需要增加进历史记录?
2、如果是一些临时过场(不需要插入历史记录),即便在fallback时,将其dom移除,如何可以做到将其对于在history中历史记录一起移除,不然就会出现点击后退再点击前进时页面呈现空白!
3、使用Mobilebone.createPage创建页面,如果配置options.history为false,此时虽然当前过场不插入历史记录,但是此时点击手机后退物理键、或者浏览器后退,不是从当前不记录页面(临时过场页面)切换到上一个,而是直接在上一个页面切换到上上个页面,这点笔者可以试试,不合常理!
5、使用Mobilebone.ajax一样不能满足临时过场(不需要插入历史记录)的需求。
6、就目前Mobilebone没有好的方案来满足临时过场(不需要插入历史记录)的情况,建议支持,谢谢!