14

Is there a GreaseMonkey script to disable the JavaScript-disabling of copy-paste in Firefox (3.0)? Or should I just run NoScript or some other extension on any site that attempts this (other things might break...)?

[rant] Absolutely the worst "clever" use of JavaScript. Fortunately Safari is more usable and ignores the JavaScript hack that disables copy-paste. Who at Mozilla thought that was acceptable whatsoever? For shame. By the way, which browser added this "feature" first, IE? [/rant]

6 Answers6

4

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
//
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.

1

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.

0

Haven't tried it:

Taking Back the Browser: Re-enable Context Menus on Sites That Disable Them

but it's a possible lead.

0

How about the good-old NoScript option with firefox?
I tried the site on the your answer and was allowed to right-click and save.
Then, I opened javascript block for the site and was blocked right-click!

nik
  • 57,042
0

Just disable the following option in Firefox's Javascript settings (it won't disable the warnings, as they are Javascript messages, but the context menu cannot be disabled by the web pages anymore):

enter image description here

TFM
  • 4,273