在 iOS 7 WebView 上的 HTML 输入控件中选择文本时如何删除或禁用“定义”选项?

Posted

技术标签:

【中文标题】在 iOS 7 WebView 上的 HTML 输入控件中选择文本时如何删除或禁用“定义”选项?【英文标题】:How to remove or disable "Define" option when selecting text in an HTML input control on an iOS 7 WebView? 【发布时间】:2014-01-14 22:55:23 【问题描述】:

我有一个简单的输入 (type="text") html 控件显示在我们 ios 应用程序的 WebView 中。

在输入控件中选择文本时,会自动出现一个 iOS 对话框,其中包含四个选项:“剪切”、“复制”、“替换...”和“定义”。我至少需要能够删除或禁用“定义”选项。

这是因为我们的应用程序通常用于连接到局域网中没有互联网连接的另一台设备。当按下“定义”选项时,iOS 会尝试发出某种 Internet 请求来搜索某些内容。当没有互联网连接时,iOS 应用程序似乎锁定了整整 5-10 秒,从而破坏了我们的应用程序。

是否有任何类型的 CSS、HTML META 或 iOS 选项来阻止“定义”选项可用?

如果有人感到困惑,这里是我所说的一个例子:

【问题讨论】:

【参考方案1】:

通过使用 css,您可以防止选择文本,因此菜单不会出现(使用 user-select:none)。

您也可以使用此链接 prevent define from showing in edit menu 禁用此菜单以显示

【讨论】:

阻止 CSS 选择不是一个选项。不过,我会调查您的链接,谢谢。 由于某种原因,您提供的链接似乎对我不起作用。 -(BOOL)canPerformAction:(SEL)action withSender:(id)senderreturn NO; 什么都不做。我尝试将我的 UIWebView 子类化并将该方法添加到我拥有的 UIViewController 上,但似乎都不起作用。我是不是理解不正确?

以上是关于在 iOS 7 WebView 上的 HTML 输入控件中选择文本时如何删除或禁用“定义”选项?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS webview 中获取当前屏幕上的显示文本

无法从文档文件夹加载到 iOS 上的 webView

Xamarin表单:ios平台上的webview中视频未完全填充

iOS 7 webview 和 localStorage 持久化

可从 webview 上的链接访问

IOS NSURLRequest下Webview Ajax应用超时设置