Last time, I shared an Anti -Copy Script to prevent copying on any site and here is an improvement on that. This post features a simple script to disable right-click and block common shortcuts like Ctrl+U (to view source code) and Ctrl+C (to copy) with a fun twist.
The Anti-copy script can still be used along side this script.
The Script
<!-- Disable Right-Click and Shortcuts -->
<script>shortcut={all_shortcuts:{},add:function(e,t,a){var o={type:"keydown",propagate:!1,disable_in_input:!1,target:document,keycode:!1};if(a)for(var r in o)void 0===a[r]&&(a[r]=o[r]);else a=o;o=a.target,"string"==typeof a.target&&(o=document.getElementById(a.target)),e=e.toLowerCase(),r=function(o){var r;if((o=o||window.event,a.disable_in_input)&&(o.target?r=o.target:o.srcElement&&(r=o.srcElement),3==r.nodeType&&(r=r.parentNode),"INPUT"==r.tagName||"TEXTAREA"==r.tagName))return;o.keyCode?code=o.keyCode:o.which&&(code=o.which),r=String.fromCharCode(code).toLowerCase(),188==code&&(r=","),190==code&&(r=".");var n=e.split("+"),c=0,l={"`":"~",1:"!",2:"@",3:"#",4:"$",5:"%",6:"^",7:"&",8:"*",9:"(",0:")","-":"_","=":"+",";":":","'":'"',",":"<",".":">","/":"?","\\":"|"},s={esc:27,tab:9,space:32,enter:13,backspace:8,delete:46,left:37,up:38,right:39,down:40,f12:123},i=!1,d=!1,p=!1,u=!1,h=!1,f=!1,g=!1,v=!1;o.ctrlKey&&(u=!0),o.shiftKey&&(d=!0),o.altKey&&(f=!0),o.metaKey&&(v=!0);for(var y=0;k=n[y],y<n.length;y++)"ctrl"==k||"control"==k?(c++,p=!0):"shift"==k?(c++,i=!0):"alt"==k?(c++,h=!0):"meta"==k?(c++,g=!0):1<k.length?s[k]==code&&c++:a.keycode?a.keycode==code&&c++:r==k?c++:l[r]&&o.shiftKey&&(r=l[r],r==k&&c++);if(c==n.length&&u==p&&d==i&&f==h&&v==g&&(t(o),!a.propagate))return o.cancelBubble=!0,o.returnValue=!1,o.stopPropagation&&(o.stopPropagation(),o.preventDefault()),!1},this.all_shortcuts[e]={callback:r,target:o,event:a.type},o.addEventListener?o.addEventListener(a.type,r,!1):o.attachEvent?o.attachEvent("on"+a.type,r):o["on"+a.type]=r},remove:function(e){e=e.toLowerCase();var t=this.all_shortcuts[e];if(delete this.all_shortcuts[e],t){e=t.event;var a=t.target;t=t.callback;a.detachEvent?a.detachEvent("on"+e,t):a.removeEventListener?a.removeEventListener(e,t,!1):a["on"+e]=!1}}},shortcut.add("Ctrl+U",()=>alert("Cmon, you better than this")),shortcut.add("Meta+Alt+U",()=>alert("This is a joke right?")),shortcut.add("Ctrl+C",()=>alert("Wow, amazing!")),shortcut.add("Meta+C",()=>alert("This is a joke right?"));</script>
How It Works
- Blocks Right-Click - Prevents most quick access to developer tools.
- Disables Shortcuts - Stops Ctrl+U and Ctrl+C (or Command on Mac).
- Friendly Alerts - Instead of being rude, it shows fun messages to make the snoopers smile (or feel a little awkward).
Examples
- Press Ctrl+U – You’ll see: "Cmon, you better than this."
- Try Ctrl+C – It says: "Wow, amazing!"
If You Don't Want the Message
Here's the simplified script without any alerts or messages:
<!-- Disable Right-Click and Shortcuts -->
<script>shortcut={all_shortcuts:{},add:function(e,t,a){var o={type:"keydown",propagate:!1,disable_in_input:!1,target:document,keycode:!1};if(a)for(var r in o)void 0===a[r]&&(a[r]=o[r]);else a=o;o=a.target,"string"==typeof a.target&&(o=document.getElementById(a.target)),e=e.toLowerCase(),r=function(o){var r;if((o=o||window.event,a.disable_in_input)&&(o.target?r=o.target:o.srcElement&&(r=o.srcElement),3==r.nodeType&&(r=r.parentNode),"INPUT"==r.tagName||"TEXTAREA"==r.tagName))return;o.keyCode?code=o.keyCode:o.which&&(code=o.which),r=String.fromCharCode(code).toLowerCase(),188==code&&(r=","),190==code&&(r=".");var n=e.split("+"),c=0,l={"`":"~",1:"!",2:"@",3:"#",4:"$",5:"%",6:"^",7:"&",8:"*",9:"(",0:")","-":"_","=":"+",";":":","'":'"',",":"<",".":">","/":"?","\\":"|"},s={esc:27,tab:9,space:32,enter:13,backspace:8,delete:46,left:37,up:38,right:39,down:40,f12:123},i=!1,d=!1,p=!1,u=!1,h=!1,f=!1,g=!1,v=!1;o.ctrlKey&&(u=!0),o.shiftKey&&(d=!0),o.altKey&&(f=!0),o.metaKey&&(v=!0);for(var y=0;k=n[y],y<n.length;y++)"ctrl"==k||"control"==k?(c++,p=!0):"shift"==k?(c++,i=!0):"alt"==k?(c++,h=!0):"meta"==k?(c++,g=!0):1<k.length?s[k]==code&&c++:a.keycode?a.keycode==code&&c++:r==k?c++:l[r]&&o.shiftKey&&(r=l[r],r==k&&c++);if(c==n.length&&u==p&&d==i&&f==h&&v==g&&(t(o),!a.propagate))return o.cancelBubble=!0,o.returnValue=!1,o.stopPropagation&&(o.stopPropagation(),o.preventDefault()),!1},this.all_shortcuts[e]={callback:r,target:o,event:a.type},o.addEventListener?o.addEventListener(a.type,r,!1):o.attachEvent?o.attachEvent("on"+a.type,r):o["on"+a.type]=r},remove:function(e){e=e.toLowerCase();var t=this.all_shortcuts[e];if(delete this.all_shortcuts[e],t){e=t.event;var a=t.target;t=t.callback;a.detachEvent?a.detachEvent("on"+e,t):a.removeEventListener?a.removeEventListener(e,t,!1):a["on"+e]=!1}}},shortcut.add("Ctrl+U",()=>!1),shortcut.add("Meta+Alt+U",()=>!1),shortcut.add("Ctrl+C",()=>!1),shortcut.add("Meta+C",()=>!1);</script>
Changes in This Version
- No Alerts or Messages: Silent blocking without any pop-ups.
- Retains Protection : Blocks Ctrl+U, Ctrl+C, and equivalents without notification.
- Still Lightweight: Minified for performance and efficiency.
Now it just works quietly in the background!
Want to Enable Right-Click Again?
To undo the restrictions on any page or post, add this small snippet:
<script>document.removeEventListener("contextmenu",()=>{});</script>
Why You might really need to disable Right click or longpress
Disabling right-click can temporarily deter casual users from easily copying or downloading content, such as images or text.
It can also prevent users from directly linking to your images on their own websites, saving some bandwidth. mxm all these ?💁🏾♂️
That's All
This script is great for adding a light layer of protection to your site, but keep in mind -it’s more of a deterrent than a lock.
If someone’s determined, they’ll find a way. Maybe by disabling Javascript and you might need this also.
Still, it’s fun to catch copiers off guard! hehe note that not every one who right clicks have the intent of copying 🤔.