扫码关注官方订阅号
ios webview 怎么去掉长按后的选择和复制等我菜单?
业精于勤,荒于嬉;行成于思,毁于随。
首先userinterface的方案是不可取的。其次这个需求,你可以选择两种方式,webview内执行js代码,或者前端直接控制。
/** * 页面加载完成之后调用 * * @param webView 实现该代理的webview * @param navigation 当前navigation */ - (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation { NSLog(@"%s", __FUNCTION__); // 禁用选中效果 [self.webView evaluateJavaScript:@"document.documentElement.style.webkitUserSelect='none'" completionHandler:nil]; [self.webView evaluateJavaScript:@"document.documentElement.style.webkitTouchCallout='none'" completionHandler:nil]; }
userinterface=false
可以尝试丢给h5
<style type="text/css"> *:not(input,textarea) { -webkit-touch-callout: none; -webkit-user-select: none; /* Disable selection/Copy of UIWebView */ } </style>
SO上面的答案大部分尝试了 iOS9的环境下,模拟器貌似都无效,你可以真机跑下
func webViewDidFinishLoad(webView: UIWebView) { //禁用webview长按后文字选择框和放大框 webView.stringByEvaluatingJavaScriptFromString("document.documentElement.style.webkitUserSelect='none'") webView.stringByEvaluatingJavaScriptFromString("document.documentElement.style.webkitTouchCallout='none'") }
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
首先userinterface的方案是不可取的。其次这个需求,你可以选择两种方式,webview内执行js代码,或者前端直接控制。
userinterface=false可以尝试丢给h5
SO上面的答案
大部分尝试了 iOS9的环境下,模拟器貌似都无效,你可以真机跑下