Greasemonkey script (or Firefox extension) to stop sites from disabling copy-paste?
Solution 1:
The (dead link) Anti-Disabler script on diveintogreasemonkey.org works if you replace document.
with document.wrappedJSObject.
Link appears to be dead now, here's a wayback link: http://web.archive.org/web/20110830050224/http://diveintogreasemonkey.org/download/antidisabler.user.js
and here's the script:
// Anti-Disabler
// version 0.5 BETA!
// 2005-06-28
// Copyright (c) 2005, Mark Pilgrim
// Released under the GPL license
// http://www.gnu.org/copyleft/gpl.html
//
// --------------------------------------------------------------------
//
// This is a Greasemonkey user script.
//
// To install, you need Greasemonkey: http://greasemonkey.mozdev.org/
// Then restart Firefox and revisit this script.
// Under Tools, there will be a new menu item to "Install User Script".
// Accept the default configuration and install.
//
// To uninstall, go to Tools/Manage User Scripts,
// select "Anti-Disabler", and click Uninstall.
//
// --------------------------------------------------------------------
//
// ==UserScript==
// @name Anti-Disabler
// @namespace http://diveintomark.org/projects/greasemonkey/
// @description restore context menus on sites that try to disable them
// @include *
// @exclude http://mail.google.com/*
// @exclude https://mail.google.com/*
// ==/UserScript==
(function() {
var e, i, all;
document.onmouseup = null;
document.onmousedown = null;
document.oncontextmenu = null;
all = document.getElementsByTagName("*");
for (i = 0; i < all.length; i += 1) {
e = all[i];
e.onmouseup = null;
e.onmousedown = null;
e.oncontextmenu = null;
}
})();
//
// ChangeLog
// 2005-06-28 - 0.5 - MAP - updated GMail URL
// 2005-04-21 - 0.4 - MAP - linted
// 2005-04-21 - 0.3 - MAP - exclude GMail
// 2005-04-18 - 0.2 - MAP - tidy code
// 2005-04-01 - 0.1 - MAP - initial release
//
Solution 2:
You may want to go to about:config and set dom.event.clipboardevents.enabled
to false. This stopped the problems I was having with pages interfering with my clipboard.
Solution 3:
I don't often toot my own horn. I actually was searching if anyone had a better method than my script:
http://userscripts.org/scripts/show/131063
Ultimately, I'd like there be an option within the browser that blocks javascript entries to onpaste events.