Force Enable right click & Copy
当前为
// ==UserScript==
// @name Enable right click & Copy
// @namespace Re-Enable right click Menu
// @description Force Enable right click & Copy
// @author Absolute
// @version 1.1.2
// @include http*://*
///@run-at document-start
// @grant GM_addStyle
// @icon https://cdn3.iconfinder.com/data/icons/communication-130/63/cursor-128.png
// @Exclude http*://*.box.com/*
// @Exclude /.*(JPG|PNG|GIF|JPEG|ico).*/
// ==/UserScript==
// Force Enable right click button
document.body.addEventListener( "contextmenu", function(e) { e.stopPropagation(); } );
// Support to Enable Context Menu
document.body.setAttribute('oncontextmenu', 'return true');
document.body.setAttribute('onselectstart', 'return true');
document.body.setAttribute('ondragstart', 'return true');
// Support to Enable Copy
function clearEventListeners() {
document.oncontextmenu = undefined;
document.oncopy = undefined;
document.oncut = undefined;
document.onpaste = undefined;
document.onselectstart = undefined;
document.body.removeAttribute("oncopy");
document.body.removeAttribute("ondrag");
document.body.removeAttribute("oncontextmenu");
document.body.removeAttribute("onselectstart");
}
window.addEventListener('load', clearEventListeners, false);
// Force Enable Copy & Highlight
var scriptTag = document.createElement('script');
scriptTag.setAttribute('type', 'text/javascript');
scriptTag.textContent = "$(function() {\n" + "$('body').off('copy contextmenu selectstart').unbind('contextmenu');\n" + "});";
document.getElementsByTagName('body')[0].appendChild(scriptTag);
[].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('* {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; }');