关于javascript:APICloud开发者进阶之路-WKWebView的使用介绍

在iOS零碎中,WebView分为UIWebView和WKWebView,相比于UIWebView,WKWebView在性能和性能等方面有很大晋升,具备Safari雷同的JavaScript引擎,反对更多的HTML5个性,并且没有点击事件提早,滚动时也不会影响页面渲染。

应用形式:
能够在config.xml全局配置useWKWebView字段来应用:

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

或者在关上页面时通过useWKWebView参数来应用:

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

注意事项和倡议:

  • 在关上新页面时应尽量应用openTabLayout来代替openWin,应用tabLayout的原生导航栏,放慢关上速度。
  • 为页面设置适合的背景色彩,以防止在窗口切换过程中闪现彩色背景。
  • 应用UIWebView时,若零碎内存不足时会间接完结掉利用,而应用WKWebView时则只是完结掉页面的渲染过程,因而会体现为页面白屏。能够在config.xml中配置WKWebViewRecoveryMode来刷新页面或者热重启利用。
  • localStorage和UIWebView页面不通用,为避免出现兼容性问题,简略的本地数据存取能够用api对象下的prefs相干接口,而大量的缓存数据则能够应用fs、db来存储。
  • 跨域问题,WKWebView中限度了跨域拜访,若服务器未设置容许跨域,则无奈应用XMLHttpRequest和jQuery的ajax拜访,只能应用api.ajax。在canvas中画图片时,除了图片服务器需设置容许跨域外,还须要应用blob的形式来加载图片,可参考附件示例。本地图片则能够转换成base64应用。注:为不便查看js报错信息,在loader和测试版(debug关上)中默认容许跨域,而正式版禁止跨域。
  • 输入框主动获取焦点问题。为达到更好的体验,如果输入框要在关上页面时主动获取焦点弹出键盘,需应用api.setFocus办法。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理