¿Cómo evitar el agarre / secuestro de teclas por sitios web en Firefox? [duplicar]

17

Algunos sitios web (al parecer, cada vez más) secuestran varias combinaciones de teclas para realizar acciones dentro y definidas por el propio sitio web. Hay un ejemplo específico de /en GMail en una pregunta titulada inapropiadamente; está el cuadro de edición StackExchange que secuestra Ctrl+ Gpara "Agregar imagen" (en lugar del "Buscar siguiente" normal de Firefox); hay secuestro de Facebook Escpara ocultar una superposición en lugar de la habitual "dejar de cargar". Estoy seguro de que podría seguir y seguir con ejemplos, pero esto debería ser suficiente para ilustrar que esta pregunta no se trata de un sitio web específico.

Utilizo mucho el teclado y los atajos de teclado que se comportan de manera diferente según el sitio web en el que estoy es una gran molestia para mí. Si presiono un atajo de teclado definido por el navegador, quiero que se tome la acción definida por el navegador, no otra cosa. Tampoco quiero que ciertas funciones a las que normalmente se pueda acceder con el teclado no sean accesibles con el teclado, o que de repente se reasignen a otras combinaciones de teclas.

Me doy cuenta de que esto puede hacer que algunas cosas sean más engorrosas en algunos sitios, pero en este caso prefiero la coherencia.

¿Es posible configurar Firefox para prevenir o ignorar tales secuestros de sitios web y favorecer el comportamiento definido de Firefox?

Sería ideal una solución que funcione al menos para las versiones 20, 21 y 22 de Firefox tanto en Linux como en Windows.

Editar Mozilla Bugzilla Bug 380637 ¿Deberían las páginas web poder anular los atajos de teclado del navegador? parece indicar que al menos se está mirando. Ese error se presentó inicialmente a mediados de 2007 y todavía está activo a mediados de 2013. Curiosamente, el error 775002 Habilitar a los usuarios para deshabilitar JavaScript para secuestrar los atajos de teclado se consideró un duplicado en torno a Firefox 15.

un CVn
fuente
2
Sospecho que están haciendo esto a través de Javascript. Si es así, no habría una forma genérica de deshabilitarlo sin deshabilitar Javascript.
Daniel R Hicks el
Sí, quizás api.jquery.com/keypress . Sería interesante si hubiera un complemento que permitiera la reescritura selectiva de .js en el lado del cliente. entonces podría comentar estas llamadas usando expresiones regulares o similar
James
44
Incluso si se hace a través de Javascript, en algún lugar debe haber un oyente de pulsaciones de teclas involucrado, y esa funcionalidad es proporcionada por el navegador . No veo ninguna razón por la que ese código no pueda modificarse de modo que el navegador interprete primero las pulsaciones de teclas (tal vez con teclas modificadoras), y si el navegador realiza alguna acción en respuesta, la pulsación de la tecla no se transfiere al Javascript proporcionado por el página web. Hacer que dicho comportamiento sea configurable (si no desea exponerlo a través de la GUI de configuración, todavía hay que saber: config que ya permite el acceso a muchas de estas configuraciones avanzadas) debería ser bastante fácil.
un CVn el
@Downvoter ¿Por qué el downvote?
un CVn el
1
@Karan Esa pregunta tiene tres años y la respuesta aceptada habla de Firefox 3.6 . Si bien no estoy exactamente de acuerdo con el esquema de numeración de versiones actual de Firefox, probablemente estamos por encima de las 20 versiones desde entonces, más de tres años de desarrollo. ¿Qué decir que las respuestas todavía son válidas para las versiones actuales de Firefox?
un CVn el

Respuestas:

1

Puedes usar el complemento Vimperator. Con el objetivo de hacer de Firefox una interfaz de solo teclado, primero escucha cualquier pulsación de tecla que presiona y realiza sus propias acciones. A veces, cuando necesite usar los secuestros de teclado definidos del sitio, puede habilitar / deshabilitar fácilmente un modo de transferencia durante algún tiempo.

Tomemos el caso de GMail, que ofrece una gran cantidad de atajos de teclado. Pero cuando presiona cualquier atajo, Vimperator lo maneja. Por ejemplo, presionar /dentro de GMail generalmente coloca el cursor en el cuadro de búsqueda. Pero presionar /en una página GMail cuando Vimperator está activo activa su búsqueda de página predeterminada (ala búsqueda en el editor Vim). El mismo caso para otros atajos de GMail como o co incluso Ctrl+Enter. Lo que esto significa es que Vimperator será el oyente número 0 para las pulsaciones de teclas en Firefox, anulando incluso a los oyentes posibles para que los atajos de teclado sean globales en todo el navegador.

Vimperator es básicamente un contenedor de Vim sobre Firefox. Si te sientes cómodo con Vim, Vimperator te parecerá un amigo perdido hace mucho tiempo. :-)

De todos modos, algunos atajos de teclado de Vimperator para comenzar con:

o<link>abre el. Esta secuencia hace que se active la línea de comando Vimperator (en la parte inferior de la pantalla) y el comando open <link>se colocará allí, con el espacio en el medio insertado para usted. Presione Enterpara cargar la página.

t<linkactiva el comando tabopeny abre el enlace en una nueva pestaña.

gtcambia a la siguiente pestaña. Ctrl+Taby Ctrl+PgUp/Dntambien trabajo.

gT cambia a pestañas anteriores.

ZZ cierra FF después de guardar la sesión.

fetiqueta todos los enlaces en la vista de página con números resaltados. Escribir un número abre el enlace. Todos los campos resaltados se pueden buscar. Entonces, en lugar de escribir números, puede escribir cualquiera de los textos en el enlace resaltado al que desea ir.

F abre enlaces en una pestaña de fondo.

h j k lpara navegar por la página left down upyright

Vimperator ofrece una gran cantidad de métodos abreviados de teclado (y sin duda hace que la experiencia sin dolor sea libre de mouse), y la mayoría de los métodos abreviados predeterminados de FF funcionan como lo hacen normalmente. Puede encontrar accesos directos para resaltar texto, copiarlos, navegar por la página como si fuera un documento de texto, acercar / alejar, simular el desplazamiento en un enlace y, simplemente, cualquier cosa que haga que Firefox responda a un mouse.

El único lugar donde no funciona tan lejos como lo he usado, es dentro de las cajas Flash, porque, FF no puede alcanzar lo que hay dentro de ellas.

Puede llevar un poco de tiempo acostumbrarse si no conoce Vim o es nuevo en él. Sin embargo, la ayuda en línea realmente extensa está muy :h<Enter>lejos.

Aquí está el enlace .

Sriharsha
fuente
aparentemente, vimperator ya no es compatible con las versiones modernas de firefox.
sylvainulg
-1
  • Intente usar el complemento noscript para firefox para deshabilitar algunos scripts JS http://noscript.net/
Homer Simpsons
fuente
1
NoScript le permite cargar o no cargar todo Javascript desde dominios particulares. Ya lo uso, y es genial en lo que hace, pero ¿ha intentado usar, por ejemplo, Facebook o StackExchange sin Javascript? La experiencia es entre bastante dolorosa y francamente inutilizable. Deshabilitar todo Javascript globalmente para Facebook solo para que mi clave Esc vuelva a la normalidad es bastante exagerado.
un CVn el
intente marcar el script como no confiable Pic: i.stack.imgur.com/45aAv.png o use proxy para bloquear cualquier respuesta de un script, por ejemplo. violinista
Homer Simpsons
Si uso NoScript para marcar, por ejemplo, facebook.com como no confiable, no se ejecutará ningún Javascript originario de facebook.com. Esto no es lo que quiero. Por favor, vuelva a leer la pregunta.
un CVn el
Lo tengo, use este enlace: addons.mozilla.org/sv-se/firefox/addon/greasemonkey y enlace de script: userscripts.org/scripts/show/125936 <= mira aquí ("if (src.search (/ bad \. js /)! = -1) {")
Homer Simpsons
Todavía no veo cómo eso me ayuda. ¿Puedes editarlo en tu respuesta con una explicación más completa de cómo responde la pregunta?
un CVn