Disable 'disable right click'

Disables the ugly feature that disables right click

As of 2015-12-21. See the latest version.

// ==UserScript==
// @name         Disable 'disable right click'
// @namespace    https://github.com/mosaicer
// @author       mosaicer
// @description  Disables the ugly feature that disables right click
// @version      1.2
// @run-at       document-end
// @grant        GM_addStyle
// ==/UserScript==
(function () {
  'use strict';

  [].forEach.call(document.querySelectorAll('[oncontextmenu]'),
    function (targetNode) {
      targetNode.removeAttribute('oncontextmenu');
    }
  );

  [].forEach.call(document.querySelectorAll('[onselectstart="return false;"]'),
    function (targetNode) {
      targetNode.removeAttribute('onselectstart');
    }
  );

  [].forEach.call(document.querySelectorAll('[onmousedown="return false;"]'),
    function (targetNode) {
      targetNode.removeAttribute('onselectstart');
    }
  );

  [].forEach.call(document.querySelectorAll('[oncopy]'),
    function (targetNode) {
      targetNode.removeAttribute('oncopy');
    }
  );

  [].forEach.call(document.querySelectorAll('[unselectable]'),
    function (targetNode) {
      targetNode.removeAttribute('unselectable');
    }
  );

  if (document.onmousedown === 'rightclick') {
    document.onmousedown = '';
  }

  if (!!document.oncontextmenu) {
    document.oncontextmenu = '';
  }

  GM_addStyle('body {user-select: text !important; -moz-user-select: text !important; -webkit-user-select: text !important; -webkit-user-drag: text !important; -khtml-user-select: text !important; -khtml-user-drag: text !important; pointer-events: auto !important;}');
})();