Unlock Website Limit

Unlock website events, including right click, selection lock, copy and cut, etc.

2020-06-05 يوللانغان نەشرى. ئەڭ يېڭى نەشرىنى كۆرۈش.

  1. // ==UserScript==
  2. // @name Unlock Website Limit
  3. // @name:zh-TW 解鎖網頁事件
  4. // @namespace https://github.snkms.com/
  5. // @version 0.6
  6. // @description Unlock website events, including right click, selection lock, copy and cut, etc.
  7. // @description:zh-TW 使用Javascript解除部分網頁事件,包括鎖右鍵、鎖複製等等
  8. // @author SN-Koarashi (5026)
  9. // @match *://*/*
  10. // @grant none
  11. // @require https://code.jquery.com/jquery-3.5.1.min.js
  12. // @supportURL https://www.facebook.com/smileopwe/
  13. // @license MIT
  14. // ==/UserScript==
  15.  
  16. (function() {
  17. 'use strict';
  18.  
  19. var $ = window.jQuery;
  20. function unBlockFunc(a) {
  21. var onData = "on" + a;
  22. if (window.addEventListener) {
  23. window.addEventListener(a, function(e) {
  24. for (var n = e.originalTarget; n; n = n.parentNode) n[onData] = null;
  25. }, true);
  26. }
  27. window[onData] = null;
  28. document[onData] = null;
  29. if (document.documentElement) document.documentElement[onData] = null;
  30. if (document.body) document.body[onData] = null;
  31. document.body.oncopy = null;
  32. }
  33. function ObjectLength( object ) {
  34. var length = 0;
  35. for( var key in object ) {
  36. if( object.hasOwnProperty(key) ) {
  37. length++;
  38. }
  39. }
  40. return length;
  41. };
  42. $(function() {
  43. var hookEvents = {
  44. 0:"contextmenu",
  45. 1:"click",
  46. 2:"mousedown",
  47. 3:"mouseup",
  48. 4:"keydown",
  49. 5:"keyup",
  50. 6:"selectstart",
  51. 7:"select",
  52. 8:"copy",
  53. 9:"cut",
  54. 10:"dragstart"
  55. };
  56. for(var i = 0;i <= ObjectLength(hookEvents);i++){
  57. unBlockFunc(hookEvents[i]);
  58. }
  59.  
  60. var css = document.createElement("style");
  61. var style = document.createTextNode("*{-ms-user-select: auto !important;-moz-user-select: auto !important;-webkit-user-select: auto !important;user-select: auto !important;}");
  62.  
  63. css.appendChild(style);
  64. document.body.appendChild(css);
  65. });
  66. })();