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" />
本站原创谢绝转载!