版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.csdn.net/iDivines/article/details/82858078
1、不支持<a href=“tel:xxx”>打电话
fixed:拦截网页请求,用原生代码唤起电话应用
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {
NSURL *URL = navigationAction.request.URL;
NSString *scheme = [URL scheme];
if ([scheme isEqualToString:@"tel"]) {
NSString *resourceSpecifier = [URL resourceSpecifier];
NSString *callPhone = [NSString stringWithFormat:@"telprompt://%@", resourceSpecifier];
//防止iOS 10及其之后,拨打电话系统弹出框延迟出现
dispatch_async(dispatch_get_global_queue(0, 0), ^{
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:callPhone]];
});
}
decisionHandler(WKNavigationActionPolicyAllow);
}
2、双击网页的底部空白处,网页向上滚动
fixed:使用js代码屏蔽双击向上滚动
var agent = navigator.userAgent.toLowerCase();
var iLastTouch = null;
if (agent.indexOf("iphone") >= 0 || agent.indexOf("ipad") >= 0) {
document.body.addEventListener("touchend", function (event) {
var a = new Date().getTime();
iLastTouch = iLastTouch || a + 1;
var c = a - iLastTouch;
if (c < 500 && c > 0) {
event.preventDefault();
return false;
}
iLastTouch = a
}, false);
};
3、input 设置 readonly 光标仍显示
fixed:增加属性 unselectable=“on” onfocus=“this.blur()”
4、input 设置type=search 系统键盘显示换行换行按钮
fixed:form标签中增加属性 role=“search”,同时必须配置action属性
<form role="search" action="test">
<input type="search" value="test">
</form>