禁用iOS Webview Default Action默認(rèn)操作

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';"];
}

參考原文:IOS之禁用UIWebView的默認(rèn)交互行為

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容