如何在 Cordova Android 应用程序中禁用复制粘贴、拼写检查、自动完成

Posted

技术标签:

【中文标题】如何在 Cordova Android 应用程序中禁用复制粘贴、拼写检查、自动完成【英文标题】:How to disable copy paste,spellcheck,autocomplete in Cordova Android application 【发布时间】:2015-12-17 18:30:33 【问题描述】:

功能?用户输入的文本会自动完成。

【问题讨论】:

您可以添加一些 css 规则来禁用复制文本 -- ***.com/questions/826782/… @MuhammadUsman - 我尝试通过使用 jQuery 'paste' 和修剪多余的字符来限制它,但需要进行大量操作,因为我必须验证很多字符。这是一个银行应用程序。传递任何无效数据意味着脏负载因此服务器完全拒绝它 【参考方案1】:
 $('input').bind("contextmenu", function (e) 
        e.preventDefault();
    );

如果您的应用中没有使用上下文菜单功能,请尝试此代码,否则上下文菜单功能将停止工作

【讨论】:

【参考方案2】:
 **Use below code:**
 <style type="text/css">
 *:not(input):not(textarea) 
 -webkit-user-select: none; /* disable selection/Copy of UIWebView */
   -webkit-touch-callout: none; /* disable the ios popup when           long-press on a link */
         
  </style>

 **If you want Disable only anchor button tag use this.**
      a -webkit-user-select: none; /* disable selection/Copy of      UIWebView */
    -webkit-touch-callout: none; /* disable the IOS popup when   long-press on a link */
 

【讨论】:

【参考方案3】:

所以,我不知道您建议的答案是否有效。他想知道,如何在 Cordova 应用程序中停用此功能。您发布本机代码的目的是什么?

正常的input 字段没有停用会如下所示:

<input id="username" type="text" placeholder="Username">

要停用这些东西,只需编辑它,它看起来像这样:

<input id="username" type="text" placeholder="Username" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false">

希望有所帮助!

【讨论】:

【参考方案4】:

@Tasos 在他的评论中所说的是有效的,如果您希望在应用中禁用 所有 用户选择,您可以使用以下问题的答案:Disabling text selection in PhoneGap

我到处寻找帮助。这终于对我有用了。

public class MainActivity extends DroidGap 

    @Override
    public void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);

        super.loadUrl("file:///android_asset/www/index.html");

        super.appView.setOnLongClickListener(new View.OnLongClickListener() 

            public boolean onLongClick(View v) 
                return true;
            
        );
    

setOnClickListener 具有魔力。确保你把这个 在您调用 super.loadUrl 之后。

【讨论】:

【参考方案5】:

我不知道 javascript 和 Cordova,但在 Android 代码中你可以试试这个。

要求 API 级别 11 或以上。

edittext.setCustomSelectionActionModeCallback(new ActionMode.Callback() 

        public boolean onPrepareActionMode(ActionMode mode, Menu menu) 
            return false;
        

        public void onDestroyActionMode(ActionMode mode)                   
        

        public boolean onCreateActionMode(ActionMode mode, Menu menu) 
            return false;
        

        public boolean onActionItemClicked(ActionMode mode, MenuItem item) 
            return false;
        
    );

onCreateActionMode(ActionMode, Menu) 返回 false 将阻止启动操作模式(全选、剪切、复制和粘贴操作)。

【讨论】:

以上是关于如何在 Cordova Android 应用程序中禁用复制粘贴、拼写检查、自动完成的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MFP 8 cordova 应用程序(Android/iOS)中获取实际的用户代理

如何限制插件在android / cordova中切换后置/后置摄像头

如何在Android后台服务中运行cordova插件?

如何在Android中找到崩溃Cordova应用程序的内容?

如何在 Ionic3、Cordova 和 Angular4 应用程序中获取 android 设备的语言?

如何在 Cordova android 应用程序中使用 javascript 创建 csv 或 Excel 文件