IOS端点击出现延迟?我应该怎么做?
当我们在IOS端使用onclick事件时会有300ms点击延迟,因此apicloud有专门解决方案如下:
使用 tapmode 属性,优化点击事件处理
默认页面加载完成后,引擎会对 dom 里面的元素进行 tapmode 属性解析,若是之后用代码创建的 dom 元素,则需要调用该方法后 tapmode 属性才会生效.
解决方法一:
<!--[ 在对应的元素上加上 tapmode 属性 ]--> <a href="javascript:void(0);" onclick="test()" tapmode>ipwas.cn</a>
如果是动态插入的元素则需要额外使用JS方法
api.parseTapmode(); // 该方法在你动态插入的位置调用。元素也需要加tapmode 不然不会生效。
解决方法二:
使用api.openWin() 、 api.openFrame 、api.openFrameGroup 打开页面时使用useWKWebView参数。
看下方使用列子
// api.openWin() 方法 api.openWin({ url:"", name:'', useWKWebView:true // 使用WKWebView来加载页面 }); // api.openFrame() 方法 api.openFrame({ url:"", name:'', useWKWebView:true // 使用WKWebView来加载页面 }); // api.openFrameGroup() 方法 api.openFrameGroup({ name: 'group1', rect: { x: 0, y: 0, w: 'auto', h: 'auto' }, frames: [{ name: 'frame1', url: 'frame1.html', useWKWebView:true,// 使用WKWebView来加载页面 bgColor: '#fff' }, { name: 'frame2', url: 'frame2.html', useWKWebView:true,// 使用WKWebView来加载页面 bgColor: '#fff' }] }, function(ret, err) { var index = ret.index; });
也可以默认使用全局方案:
可以在config.xml全局配置useWKWebView字段来使用: <preference name="useWKWebView" value="true" />
本站原创谢绝转载!