是否有GreaseMonkey脚本禁用Firefox(3.0)中禁用JavaScript的复制粘贴?或者我应该在试图这样做的任何网站上运行NoScript或其他扩展程序(其他事情可能会破坏......)?
[rant]绝对是JavaScript中最“聪明”的用法。幸运的是,Safari更有用,并且忽略了禁用复制粘贴的JavaScript黑客攻击。谁在Mozilla认为这是可以接受的?耻辱。顺便说一句,哪个浏览器首先添加了这个“功能”,IE?[/咆哮]
是否有GreaseMonkey脚本禁用Firefox(3.0)中禁用JavaScript的复制粘贴?或者我应该在试图这样做的任何网站上运行NoScript或其他扩展程序(其他事情可能会破坏......)?
[rant]绝对是JavaScript中最“聪明”的用法。幸运的是,Safari更有用,并且忽略了禁用复制粘贴的JavaScript黑客攻击。谁在Mozilla认为这是可以接受的?耻辱。顺便说一句,哪个浏览器首先添加了这个“功能”,IE?[/咆哮]
Answers:
如果您替换,则diveintogreasemonkey.org上的(死链接)Anti-Disabler脚本有效document.
document.wrappedJSObject.
链接现在似乎已经死了,这里是一个回归链接:http://web.archive.org/web/20110830050224/http://diveintogreasemonkey.org/download/antidisabler.user.js
这是脚本:
// 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
//
您可能想要转到about:config并设置dom.event.clipboardevents.enabled
为false。这阻止了我在页面干扰我的剪贴板时遇到的问题。
我不经常吹嘘自己的号角。我实际上是在搜索是否有人比我的脚本更好的方法:
http://userscripts.org/scripts/show/131063
最后,我希望浏览器中有一个选项可以阻止javascript条目进入onpaste事件。
只需在Firefox的Javascript设置中禁用以下选项(它不会禁用警告,因为它们是Javascript消息,但网页不能再禁用上下文菜单):