最近在手机上开发一个功能,页面上有几个分享按钮,当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倍
### 引用别人的题外话
没有解决不了的技术问题,无非是时间和解决方式可能带来的弊端权衡
问题的解决方式有很多,但是要明确想要什么,是不是通过别的方式能达到同样的目的
来源:
网络
尚吾网QQ-14022301 2015/10/20 09:45
闲来无事,到此一游 乙未年(羊)九月初八 2015-10-20
bateer 2015/11/11 08:22
从百度点进来的,支持一下
admin 博主 2016/03/28 20:21
@ 谢谢,有建议欢迎提出~
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
看一看来瞧一瞧,这个博客真是好!