Default Action##
iOS 給Webview帶來了一些系統(tǒng)級的touch響應(yīng),它豐富我們的交互體驗(yàn)。但在特別的場景下,這些手勢又不太符合我們的需求。
常見的default action如下:
IMG_0846.PNG
IMG_0847.PNG
IMG_0848.PNG
如何取消這些功能##
從html來控制###
1.整個(gè)頁面禁用
<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表單域執(zhí)行文本的剪切板操作
*:not(input,textarea) {
-webkit-touch-callout: none;
-webkit-user-select: none;
}
3.禁用某個(gè)鏈接的長按彈出框
<a style = "-webkit-touch-callout:none">
在native進(jìn)行控制###
從UIWebview或者WKWebview繼承,在相應(yīng)代理方法里加上下面的代碼
- (void)webViewDidFinishLoad:(UIWebView *)webView {
// 禁用用戶選擇
[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitUserSelect='none';"];
// 禁用長按彈出框
[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitTouchCallout='none';"];
}