جافاسكريبت - طريقة عبر المتصفحات لمنع جميع طرق نسخ النص من منطقة النص؟
أنا أعمل على برنامج كتابة عبر الإنترنت. في برنامج الكتابة، كل شيء يسير على ما يرام، لكن لدي مشكلة مع المستخدمين غير الأمناء الذين قد يكتبون النص في مربع النص، ثم ينسخونه، ثم يعيدون تحميل الصفحة (وبالتالي إعادة ضبط المؤقت) ويلصقونه مباشرة. لذلك كنت أفكر في استخدام شيء مثل evt.preventDefault(); عندما يكتشف جافاسكريبت ضغط زر ctrl/cmd مع زر C. لكن بعد ذلك أدركت أن المستخدم يمكنه دائمًا الذهاب إلى شريط القائمة والضغط على Edit -> Copy. لذلك كنت أتساءل، هل هناك طريقة تعمل في جميع المتصفحات لتعطيل كلا الطريقتين للنسخ؟
الإجابة رقم 1
يمكنك محاولة استخدام كود jQuery التالي:
$('input[type=text],textarea').bind('copy paste cut drag drop', function (e) {
e.preventDefault();
});
الإجابة رقم 2
ربما يمكنك أن تفعل شيئًا مثل:
var txtArea = document.getElementById("YourTextAreaId");
txtArea.oncopy = function() { return false; }
txtArea.onpaste = function() { return false; }
txtArea.oncut = function() { return false; }
ولكن حتى في ذلك الحين، يمكن للمستخدم نسخ المحتوى بوسائل أخرى، كما هو مقترح في سؤالك.
