如何在 Tinymce 中防止/禁用复制和粘贴 [英] How to Prevent/disable copy and paste in Tinymce

查看:72
本文介绍了如何在 Tinymce 中防止/禁用复制和粘贴的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在我的系统上设置 tinymce,并想在 tinymce 编辑器中禁用用户的复制和粘贴,但找不到解决方案.如何在 tinymce 中禁用复制粘贴

I am setting up the tinymce on my system, and want to disable the copy and paste for the user in the tinymce editor, but no where I find the solution. How can I disable the copy paste in tinymce

我已经实施了禁止将文本粘贴到 HTML 表单中但它仅适用于简单的文本区域,而不适用于 tinymce textarea

I have implemented the Disable pasting text into HTML form But it is working only in simple text area but not in tinymce textarea

<script>
// Register onpaste on inputs and textareas in browsers that don't
// natively support it.
(function () {
    var onload = window.onload;

    window.onload = function () {
        if (typeof onload == "function") {
            onload.apply(this, arguments);
        }

        var fields = [];
        var inputs = document.getElementsByTagName("input");
        var textareas = document.getElementsByTagName("textarea");

        for (var i = 0; i < inputs.length; i++) {
            fields.push(inputs[i]);
        }

        for (var i = 0; i < textareas.length; i++) {
            fields.push(textareas[i]);
        }

        for (var i = 0; i < fields.length; i++) {
            var field = fields[i];

            if (typeof field.onpaste != "function" && !!field.getAttribute("onpaste")) {
                field.onpaste = eval("(function () { " + field.getAttribute("onpaste") + " })");
            }

            if (typeof field.onpaste == "function") {
                var oninput = field.oninput;

                field.oninput = function () {
                    if (typeof oninput == "function") {
                        oninput.apply(this, arguments);
                    }

                    if (typeof this.previousValue == "undefined") {
                        this.previousValue = this.value;
                    }

                    var pasted = (Math.abs(this.previousValue.length - this.value.length) > 1 && this.value != "");

                    if (pasted && !this.onpaste.apply(this, arguments)) {
                        this.value = this.previousValue;
                    }

                    this.previousValue = this.value;
                };

                if (field.addEventListener) {
                    field.addEventListener("input", field.oninput, false);
                } else if (field.attachEvent) {
                    field.attachEvent("oninput", field.oninput);
                }
            }
        }
    }
})();
</script>       

    </head>
    <body>
<!-- Not Working here-->
        <textarea class="tinymce" onpaste="return false;"></textarea>

        <!-- javascript -->
        <script type="text/javascript" src="js/jquery.min.js"></script>
        <script type="text/javascript" src="plugin/tinymce/tinymce.min.js"></script>
        <script type="text/javascript" src="plugin/tinymce/init-tinymce.js"></script>

<!-- Working here-->        
<textarea onpaste="return false;"></textarea>



    </body>

我希望,它应该在tinymce的textarea中工作,

I expect that, it should work in the textarea of tinymce,

先谢谢你,我会很感激

推荐答案

你有没有试过阻止默认的

have you tried to prevent the default

document.addEventListener('paste', function(e){
  e.preventDefault(); 
});

我还读到您可以在 tinymce.init

paste_preprocess: function(plugin, args) {
    console.log(args.content);
    args.content = '';
  }

希望其中一种方法适合您

Hope that one of those methods works out for you

这篇关于如何在 Tinymce 中防止/禁用复制和粘贴的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆