您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
The userscript helps you to bypass the copy paste block until you solve the quiz.
// ==UserScript== // @name Copy Paste Bypasser By Pak Defndr // @namespace https://greasyfork.org/en/scripts/26476-copy-paste-bypasser // @author Pak Defndr // @version 2.0.1 // @copyright 2017+, Pakdefndr // @description The userscript helps you to bypass the copy paste block until you solve the quiz. // @run-at document-start // @include http://quiz.vu.edu.pk* // @include https://quiz.vu.edu.pk* // @require https://greasyfork.org/scripts/26650-pakdefndr-library/code/Pakdefndr_Library.user.js // @grant none // @run-at document-start // ==/UserScript== (function() { 'use strict'; $("body").unbind('contextmenu'); $("body").unbind(); var events_blacklist = [ 'onmousedown', 'onmouseup', 'oncontextmenu', 'onselectstart', 'ondragstart', 'ondrag', 'ondragenter', 'ondragleave', 'ondragover', 'ondrop', 'keydown', 'ondragend' ], rEventBlacklist = new RegExp( events_blacklist.join('|').replace(/^on/g, ''), 'i' ), oldAEL, win; // unwraps the element so we can use its methods freely function unwrap(elem) { if (elem) { if (typeof XPCNativeWrapper === 'function' && typeof XPCNativeWrapper.unwrap === 'function') { return XPCNativeWrapper.unwrap(elem); } else if (elem.wrappedJSObject) { return elem.wrappedJSObject; } } return elem; } win = unwrap(window); // don't let blacklisted events get added by addEventListener oldAEL = win.Element.prototype.addEventListener; // store a reference to the original addEventListener win.Element.prototype.addEventListener = function () { if ( !rEventBlacklist.test(name) ) { return oldAEL.apply(this, arguments); } }; // remove other listeners when the page loads JSL.runAt('interactive', function (event) { var all = document.getElementsByTagName('*'), doc = win.document, body = win.document.body, isPrototype = typeof doc.observe === 'function' && typeof doc.stopObserving === 'function', len, e, i, jQall, jQdoc; events_blacklist.forEach(function (event) { doc[event] = null; body.removeAttribute(event); if (isPrototype === true) { doc.stopObserving(event); // disable Prototype observation } }); // Disabling of specific elements for (i = 0, len = all.length; i < len; i += 1) { e = unwrap( all[i] ); events_blacklist.forEach(function (event) { e[event] = null; e.removeAttribute(event); }); if (e.style.MozUserSelect === 'none') { e.style.MozUserSelect = 'text'; } } // Disabling by jQuery if (typeof win.$ === 'function' && typeof win.$.prototype.unbind === 'function') { jQall = win.$('*'); jQdoc = win.$(doc); events_blacklist.forEach(function (event) { jQall.unbind(event); jQdoc.unbind(event); }); } if (typeof win.jQuery === 'function' && typeof win.jQuery.prototype.unbind === 'function') { win.jQuery(win).unbind('keypress'); // Remove keyboard blocking - comment line out if you don't want it } if (typeof win.ProtectImg !== 'undefined') { win.ProtectImg = function () { return true; }; } }); document.getElementsByTagName("body")[0].setAttribute("oncopy", "return true"); document.getElementsByTagName("body")[0].setAttribute("oncut", "return true"); document.getElementsByTagName("body")[0].setAttribute("onpaste", "return true"); document.getElementsByTagName("body")[0].setAttribute("onkeypress", "null"); document.getElementsByTagName("body")[0].setAttribute("onkeydown", "null"); var elmLink = document.getElementById('txtQuestion'); elmLink.removeAttribute('readonly'); elmLink.removeAttribute('disabled'); var elmLink1 = document.getElementById('lblAnswer0'); elmLink1.removeAttribute('readonly'); elmLink1.removeAttribute('disabled'); var elmLink2 = document.getElementById('lblAnswer1'); elmLink2.removeAttribute('readonly'); elmLink2.removeAttribute('disabled'); var elmLink3 = document.getElementById('lblAnswer2'); elmLink3.removeAttribute('readonly'); elmLink3.removeAttribute('disabled'); var elmLink4 = document.getElementById('lblAnswer3'); elmLink4.removeAttribute('readonly'); elmLink4.removeAttribute('disabled'); var elmLink5 = document.getElementById('lblAnswer4'); elmLink5.removeAttribute('readonly'); elmLink5.removeAttribute('disabled'); })();