جلوگیری از کپی کردن با جاوااسکریپت
بعضی از وبسایتهای اینترنتی نیاز دارند تا امکان کپی کردن متنها را در داخلشان غیرفعال کنند و بتوانند امکان کپی کردن را بردارند؛ در این نوشته یک روش کاربردی و عملی برای شما آوردهایم.
پیشنهاد نویسنده: بستن کلیک راست با جاوااسکریپت
جلوگیری از کپی کردن با جاوااسکریپت
قطعه کد زیر را در تگ head در بین تگ زوج script قرار دهید:
$(document).ready(function() {
$('body').bind('cut copy', function(e) {
e.preventDefault();
});
});
نکته: این کد نیاز به لود شدن jquery دارد.
پیشنهاد نویسنده: معرفی فریمورکهای جاوااسکریپت
اگر روشهای بهتری برای انجام این کار در اختیار دارید در بخش نظرات همین نوشته آنها را برای ما بنویسید.
برای امتیاز به این نوشته کلیک کنید!
[کل: 2 میانگین: 4]



















آیا میشود برای کاربران لاگینشده کپی را مجاز و برای مهمانها ممنوع کرد؟
بله این امکان وجود دارد و با بررسی وضعیت ورود کاربر در سمت سرور یا کلاینت میتوان این محدودیت را اعمال کرد.
این محدودیت با انتخاب متن تداخل دارد یا فقط لحظه کپی را میبندد؟
این کد فقط لحظه کپی کردن را مسدود میکند و با انتخاب متن تداخلی ندارد.
راهکاری دارید که فقط در بخشهای خاص صفحه کپی ممنوع شود و بقیه آزاد بماند؟
بله، میتوانید با استفاده از کلاسها یا IDهای خاص در HTML و اعمال کد جاوااسکریپت فقط به آن بخشها، این کار را انجام دهید.
اگر کاربر جاوااسکریپت را غیرفعال کند یا از Inspect Element استفاده کند، هنوز میتواند متن را بردارد؟
این روش مانع کپی کردن متن برای کاربران عادی است، اما کاربران حرفهای با غیرفعال کردن جاوااسکریپت یا استفاده از ابزارهای توسعهدهنده همچنان میتوانند به محتوا دسترسی پیدا کنند.
این روش جلوی کپی با کلیدهای میانبر مثل Ctrl+C و Cmd+C را هم میگیرد یا فقط رویداد copy را خنثی میکند؟
این کد جلوی کپی با کلیدهای میانبر Ctrl+C و Cmd+C را هم میگیرد، زیرا رویداد `copy` را به طور کامل خنثی میکند.