禁用iOS Webview Default Action默认操作

Default Action##

iOS 给Webview带来了一些系统级的touch响应,它丰富我们的交互体验。但在特别的场景下,这些手势又不太符合我们的需求。
常见的default action如下:

禁用iOS Webview Default Action默认操作_第1张图片
IMG_0846.PNG

禁用iOS Webview Default Action默认操作_第2张图片
IMG_0847.PNG

禁用iOS Webview Default Action默认操作_第3张图片
IMG_0848.PNG

如何取消这些功能##

从html来控制###

1.整个页面禁用





    //your code...

2.只允许Form表单域执行文本的剪切板操作

*:not(input,textarea) {
    -webkit-touch-callout: none;
    -webkit-user-select: none; 
}

3.禁用某个链接的长按弹出框


在native进行控制###

从UIWebview或者WKWebview继承,在相应代理方法里加上下面的代码

- (void)webViewDidFinishLoad:(UIWebView *)webView {
   // 禁用用户选择
   [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitUserSelect='none';"];
    
   // 禁用长按弹出框
   [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitTouchCallout='none';"];
}

参考原文:IOS之禁用UIWebView的默认交互行为

你可能感兴趣的:(禁用iOS Webview Default Action默认操作)