禁用UIWebView中的用户选择

禁用UIWebView中的用户选择

我有一个应用程序将内容加载到UIWebView展示这个。我不能完全禁用用户交互,因为我希望用户能够单击链接。我只需要禁用用户选择。我在互联网上找到了你可以使用的地方:

document.body.style.webkitUserSelect='none';

我试着把这个插入

[self.contentView stringByEvaluatingJavaScriptFromString:@"document.body.style.webkitUserSelect='none';"];

在……里面webViewDidFinishLoad:

但是,它不起作用。我仍然能够选择并复制WebView中的文本。

有什么可能出问题了吗?

更新:这似乎只发生在iOS 4.3开始


胡子哥哥
浏览 490回答 3
3回答

红颜莎娜

以下是禁用选择的几种方法:将以下内容添加到您的移动web文档中<style&nbsp;type="text/css">*&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;-webkit-touch-callout:&nbsp;none; &nbsp;&nbsp;&nbsp;&nbsp;-webkit-user-select:&nbsp;none;&nbsp;/*&nbsp;Disable&nbsp;selection/copy&nbsp;in&nbsp;UIWebView&nbsp;*/}</style>以编程方式加载以下Javascript代码:NSString&nbsp;*&nbsp;jsCallBack&nbsp;=&nbsp;@"window.getSelection().removeAllRanges();";&nbsp;&nbsp;&nbsp;&nbsp;[webView&nbsp;stringByEvaluatingJavaScriptFromString:jsCallBack];禁用“复制/粘贴用户”菜单:-&nbsp;(BOOL)canPerformAction:(SEL)action&nbsp;withSender:(id)sender&nbsp; {&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(action&nbsp;==&nbsp;@selector(copy:)&nbsp;|| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;action&nbsp;==&nbsp;@selector(paste:)|| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;action&nbsp;==&nbsp;@selector(cut:))&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;_copyCutAndPasteEnabled; &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;[super&nbsp;canPerformAction:action&nbsp;withSender:sender];}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

iOS