【apicloud】WKWebView使用介绍

 iOS系统的webView分为UIWebView和WKWebView,目前UIWebView已被标记为废弃API,上传应用到App Store时,可能会收到苹果的提示邮件:



在iOS系统中,webView分为UIWebView和WKWebView,相比于UIWebView,WKWebView在性能和功能等方面有很大提升,具有Safari相同的JavaScript引擎,支持更多的HTML5特性,并且没有点击事件延迟,滚动时也不会影响页面渲染。


使用方法:

1:在config.xml中配置

<preference name="useWKWebView" value="true" />


2:打开页面时通过useWKWebView参数来使用

api.openTabLayout({
    name: 'detail',
    url: './detail.html',
    useWKWebView: true,
    bgColor: '#fff',
    title: '详情',
    navigationBar: {
        background: '#fff'
    }
});


注意事项:

  1. 在打开新页面时应尽量使用openTabLayout来代替openWin,使用tabLayout的原生导航栏,加快打开速度。

  2. 为页面设置合适的背景颜色,以避免在窗口切换过程中闪现黑色背景。

  3. 使用UIWebView时,若系统内存不足时会直接结束掉应用,而使用WKWebView时则只是结束掉页面的渲染进程,因此会表现为页面白屏。可以在config.xml中配置WKWebViewRecoveryMode来刷新页面或者热重启应用。

  4. localStorage和UIWebView页面不通用。为避免出现兼容性问题,简单的本地数据存取可以用api对象下的prefs相关接口,而大量的缓存数据则可以使用fs、db来存储。

  5. 跨域问题。WKWebView中不支持跨域,因此在本地HTML文件中不能使用XMLHttpRequest和jQuery的ajax,只能通过api.ajax来请求数据。




翻滚的胖子博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论