Я устал от сайтов, блокирующих мои CMD + c и CMD + v копирование / вставка. Особенно, когда их код JavaScript позволяет проходить CONTROL + c и CONTROL + v без захвата.
Я хочу использовать новую политику безопасности CAPS в Firefox 4 для создания правила, которое дает «noAccess» любому сайту, пытающемуся захватить onkeypress из обработчиков событий любого элемента, и не дать им прочитать e.which.
Ниже приведен фрагмент кода javascript, который не позволяет мне вставить почтовый индекс в текстовую область, поскольку автору сайта требуется "только цифры" в этом поле, поэтому "CMD + v" (вставка) захватывается и удаляется на пол.
function numbersonly(myfield, e, dec)
var key, keychar;
if (e) key = e.which;
else return true;
keychar = String.fromCharCode(key);
// control keys
if ((key==null) || (key==0) || (key==8) ||
(key==9) || (key==13) || (key==27) )
return true;
else if ((("0123456789").indexOf(keychar) > -1))
return true;
else return false;
}
Тогда код HTML будет иметь:
<INPUT NAME="zipcode" onKeyPress="return numbersonly(this, event)">
Как установить политику в Firefox4, которая отключает возможность сайтов вызывать эту функцию обработчика событий?
Используя расширение «Control de Scripts», я попытался добавить следующий «блок» в политику «по умолчанию», которая затрагивает все сайты, но ни один не помог мне использовать комбинацию мета-ключей Firefox, в то время как фокусировался в текстовом поле. который прослушивает обработчик этого события:
HTMLInputElement.onKeyPress
Window.numbersonly
Window.onKeyPress
Window.onkeypress
event.preventDefault
Теперь мы работаем с Firefox 14 вместо 4. Была ли сделана поддержка такого типа noAccess более доступной / доступной для конечных пользователей Firefox, таких как я?
Я ищу ответ о том, как запретить захват событий нажатия клавиш с помощью CAPS, не выискивая каждое имя функции на каждом веб-сайте и не отключая функции одну за другой.