Default Action##
iOS 给Webview带来了一些系统级的touch响应,它丰富我们的交互体验。但在特别的场景下,这些手势又不太符合我们的需求。
常见的default action如下:
如何取消这些功能##
从html来控制###
1.整个页面禁用
<head>
<style>
body.disable-default-action
{
//禁用长按呼出功能菜单
-webkit-touch-callout:none ;
//禁用用户元素选择
-webkit-user-select:none ;
}
</style>
</head>
<body class = "disable-default-action">
//your code...
</body>
2.只允许Form表单域执行文本的剪切板操作
*:not(input,textarea) {
-webkit-touch-callout: none;
-webkit-user-select: none;
}
3.禁用某个链接的长按弹出框
<a href="http://www.baidu.com" style = "-webkit-touch-callout:none">
在native进行控制###
从UIWebview或者WKWebview继承,在相应代理方法里加上下面的代码
- (void)webViewDidFinishLoad:(UIWebView *)webView {
// 禁用用户选择
[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitUserSelect='none';"];
// 禁用长按弹出框
[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitTouchCallout='none';"];
}