防止iOS Webkit长按链接

Tri*_*ert 19 javascript iphone objective-c uiwebview ios

在我正在开发的iOS应用程序中,我显示UIWebView允许用户升级其帐户.该页面包含显示用户其他信息的链接,但您将手指放在链接上,会弹出如下菜单: 在此输入图像描述

正如您所看到的,它显示了页面的URL和将要执行的操作,我不希望用户看到它,因为我不希望它们能够复制任何内容,因为我禁用了"复制/剪切/粘贴"菜单已经.我该如何禁用此菜单?

谢谢你的任何指示.

rob*_*off 35

我想你可以通过在链接上设置CSS -webkit-touch-callout属性来禁用该弹出窗口none.您可以通过编辑正在加载的HTML或CSS文件来执行此操作,而不是使用Objective-C.


Cez*_*zar 17

正如Rob所说,你想要做的是禁用默认的上下文菜单UIWebView.您可以通过添加以下行来实现它webViewDidFinishLoad:

   [webView stringByEvaluatingJavaScriptFromString:@"document.body.style.webkitTouchCallout='none';"];
Run Code Online (Sandbox Code Playgroud)


B-M*_*ney 15

如果要同时禁用整个HTML页面上的弹出用户选择文本,请在网页的身体或全局css上使用此选项.

  body {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
Run Code Online (Sandbox Code Playgroud)

  • 您可以使用`*{`而不是`body {来涵盖所有内容. (3认同)
  • 如果你想让你的输入和textareas工作,你需要使用`*:not(input,textarea){}` (2认同)