首页 » 前端 » 正文

移动端web滚动对js对影响

最近在手机上开发一个功能,页面上有几个分享按钮,当web页面滚动到按钮的位置时,按钮状态改为悬浮,那么问题来了:iOS上,web滚动过程中,不响应js绘图事件

这里引用了相关说明:

现象

根源

### 关于web滚动响应js绘图事件的情况

ios7浏览器内核从根本上无法支持,包括safari浏览器 ios8浏览器内核支持,所以safair浏览器支持 ios8原生应用必须使用ios8+的新控件WKWebView才可以支持(WKWebView主要在和js交互的性能上优于原来的UIWebView,因为他直接使用的是safari的内核,UIWebView使用的是阉割版的)

### 解决方案

1、js自己做滚动,即不直接使用web的滚动事件,可能需要使用一些hack方法,也有一些三方库,风险h5自己评估

2、顶部改用原生实现,包括滚动效果,ios这边预计1-2天

弊端:

  • 警告!Apple文档明确警告开发者不要在webview里嵌套任何原生view,会带来不可预知的结果,且对于不同版本api可能有不同的兼容问题
  • 如果顶部也改为原生的话,那我们的页面就变成:原生header+web+原生footer,参考1,此方案复杂度更高,可能的兼容风险问- 题自然也更高,另外业界基本没有这么做的

3、 放弃ios7,只支持ios8+,使用WKWebView代替UIWebView,考虑到目前webview+原生footer的混合方式,无法预估时间,需额外调研

优点:

  • js执行效率大幅提升,响应时间减少,相差1-2倍

### 引用别人的题外话

没有解决不了的技术问题,无非是时间和解决方式可能带来的弊端权衡

问题的解决方式有很多,但是要明确想要什么,是不是通过别的方式能达到同样的目的

来源:网络

本文共 13 个回复

  • 尚吾网QQ-14022301 2015/10/20 09:45

    闲来无事,到此一游 乙未年(羊)九月初八 2015-10-20

  • bateer 2015/11/11 08:22

    从百度点进来的,支持一下

    • admin 博主 2016/03/28 20:21

      @ bateer 谢谢,有建议欢迎提出~

  • w188168168 2015/12/14 10:06

    雁过留声,人过留名。

  • pu53s4 2015/12/14 10:44

    我来看看,欢迎不欢迎?

  • 91jufan 2015/12/16 09:22

    这个可以有!

  • eeli 2015/12/19 15:38

    OH,GOOD BLOG.

  • wo 2016/01/01 09:57

    Happy New Year.

  • 3623432 2016/01/04 18:59

    看看!

  • 418144 2016/02/01 10:56

    年前再来转转!

  • 356688 2016/02/06 12:22

    honey,how are you

  • 356688 2016/02/10 15:18

    It's not bad

  • 益群网 2016/02/27 10:51

    看一看来瞧一瞧,这个博客真是好!

Comments are closed.