Wie kann man verhindern, dass sich die Websites in Firefox mit dem Tastenanschlag befassen?

4748
a CVn

Einige Websites (eine zunehmende Anzahl davon heutzutage, so scheint es) entführen verschiedene Tastenkombinationen, um Aktionen innerhalb der Website selbst auszuführen und von ihr definiert zu werden. Es gibt das konkrete Beispiel von /in GMail in einer unpassend benannten Frage. Es gibt das StackExchange-Editierfeld, das Ctrl+ Gfür "Bild hinzufügen " (anstelle von Firefoxs "Weitersuchen") entführt wird . Es gibt Facebook-Hijacking Esc, um ein Overlay zu verbergen, anstatt das übliche "Stop Load". Ich bin mir sicher, dass ich mit Beispielen weitergehen könnte, aber dies sollte zeigen, dass sich diese Frage nicht auf eine bestimmte Website bezieht.

Ich benutze die Tastatur ausgiebig und die Tastaturkürzel verhalten sich unterschiedlich, je nachdem auf welcher Website ich mich befinde. Das ist ein großer Ärger für mich. Wenn ich eine vom Browser definierte Tastenkombination drücke, möchte ich, dass die vom Browser definierte Aktion ausgeführt wird, nicht etwas anderes. Ich möchte auch nicht, dass bestimmte Funktionen, auf die normalerweise über die Tastatur zugegriffen werden kann, nicht über die Tastatur zugänglich sind oder plötzlich anderen Tastenkombinationen zugeordnet werden.

Mir ist klar, dass dies auf einigen Websites einige Dinge schwieriger machen kann, aber in diesem Fall bevorzuge ich Konsistenz.

Ist es möglich, Firefox so einzurichten, dass solche Entführungen durch Websites verhindert oder ignoriert werden und das von Firefox definierte Verhalten bevorzugt wird?

Eine Lösung, die zumindest für die Firefox-Versionen 20, 21 und 22 sowohl unter Linux als auch unter Windows geeignet ist, wäre ideal.

Bearbeiten Mozilla Bugzilla Bug 380637 Should Webseiten können den Browser-Tastaturbefehle außer Kraft zu setzen? scheint darauf hinzuweisen, dass es zumindest betrachtet wird. Dieser Fehler wurde ursprünglich Mitte 2007 eingereicht und ist seit Mitte 2013 noch aktiv. Interessanterweise wurde der Fehler 775002 als Deaktivierung von Firefox 15 betrachtet, um Benutzern das Deaktivieren von Tastaturkürzeln durch Javascript zu ermöglichen .

16
Ich vermute, dass sie dies über Javascript tun. Wenn dies der Fall ist, gibt es keine generische Möglichkeit zum Deaktivieren, ohne Javascript zu deaktivieren. Daniel R Hicks vor 10 Jahren 2
yep vielleicht http://api.jquery.com/keypress/. Es wäre interessant, wenn es ein Addon gäbe, das das selektive Umschreiben von .js auf der Clientseite erlaubte. Sie können diese Aufrufe dann einfach mit Regex oder ähnlichem auskommentieren James vor 10 Jahren 0
Auch wenn dies über Javascript erfolgt, muss * irgendwo ein Tastendruck-Listener vorhanden sein, und diese Funktionalität wird vom Browser * bereitgestellt. Ich sehe keinen Grund, warum dieser Code nicht so modifiziert werden konnte, dass der Browser zuerst Tastatureingaben (möglicherweise mit Modifikationstasten) interpretiert. Wenn der Browser daraufhin eine Aktion ausführt, wird der Tastendruck nicht an das von der Website. Ein solches Verhalten konfigurierbar machen (wenn Sie es nicht über die Einstellungs-GUI verfügbar machen möchten, gibt es immer noch ungefähr: config, was bereits den Zugriff auf viele dieser erweiterten Einstellungen ermöglicht) sollte relativ einfach sein. a CVn vor 10 Jahren 4
@ Downvoter Warum der Downvote? a CVn vor 10 Jahren 0
@Karan Diese Frage ist drei Jahre alt und die akzeptierte Antwort bezieht sich auf Firefox ** 3.6 **. Obwohl ich mit dem aktuellen Versionsnummernschema von Firefox nicht ganz einverstanden bin, liegen wir seitdem wahrscheinlich weit über 20 Releases, die über drei Jahre Entwicklungszeit liegen. Was ist zu sagen, dass die Antworten in den aktuellen Firefox-Versionen noch gültig sind? a CVn vor 10 Jahren 1
@Karan ** Korrektur ** https://bugzilla.mozilla.org/show_bug.cgi?id=380637 zeigt an, dass es sich mindestens in der Entwicklungspipeline befindet. a CVn vor 10 Jahren 0
@ MichaelKjörling: Ist eigentlich egal, wie alt die andere ist, deine Frage ist fast ein exaktes Duplikat. Wenn Sie auf das Problem aufmerksam machen wollen und aktualisierte Antworten wünschen, belasten Sie diese Frage. Sie sind ein langjähriges Mitglied, und ich muss Ihnen nicht sagen, wie der Kopfgeldprozess funktioniert. Karan vor 10 Jahren 0
Nach elf Jahren ging Mozilla endlich auf den in der Frage enthaltenen Fehler ein. Leider ist die Implementierung fehlerhaft (wenn Sie gerne die Tasten "Del" oder "Backspace" verwenden), aber es ist irgendwie behoben. Siehe die verknüpfte Frage "Duplizieren". Diese Antwort lautet insbesondere: https://superuser.com/a/1305827/158390 Lambart vor 6 Jahren 0

2 Antworten auf die Frage

1
Sriharsha

Sie können das Vimperator-Plugin verwenden. Firefox soll nur eine Tastaturschnittstelle sein, lauscht zunächst auf jeden Tastendruck, den Sie drücken, und führt seine eigenen Aktionen aus. Wenn Sie die definierten Tastatur-Hijacks der Site verwenden müssen, können Sie manchmal einen Pass-Through-Modus für einige Zeit aktivieren / deaktivieren.

Nehmen wir den Fall von GMail, der eine Vielzahl von Tastenkombinationen bietet. Wenn Sie jedoch eine solche Verknüpfung drücken, wird sie von Vimperator selbst behandelt. Wenn Sie beispielsweise /in GMail drücken, wird der Cursor normalerweise in das Suchfeld eingefügt. /Wenn Sie jedoch eine GMail-Seite drücken, während Vimperator aktiv ist, wird die Standardseitensuche ausgelöst (auch in Vim-Editor gesucht). Gleicher Fall für andere GMail-Verknüpfungen wie o coder sogar Ctrl+Enter. Dies bedeutet, dass Vimperator der 0. Listener für Tastatureingaben in Firefox ist und sogar die ersten möglichen Listener überschreibt, sodass Ihre Tastenkombinationen im gesamten Browser global sind.

Vimperator ist im Grunde ein Vim-Wrapper über Firefox. Wenn Sie mit Vim vertraut sind, wird Vimperator wie ein längst verlorener Freund wirken. :-)

Wie auch immer, ein paar Vimperator-Tastenkombinationen für den Einstieg:

o<link>öffnet die. Durch diese Sequenzen wird die Vimperator-Befehlszeile (am unteren Rand des Bildschirms) aktiviert, und der Befehl open <link>wird dort platziert, wobei das Leerzeichen in der Mitte für Sie eingefügt wird. Drücken Sie Enter, um die Seite zu laden.

t<linkAktiviert den Befehl tabopenund öffnet den Link in einer neuen Registerkarte.

gtwechselt zur nächsten Registerkarte. Ctrl+Tabund Ctrl+PgUp/Dnauch arbeiten.

gT wechselt zu vorherigen Registerkarten.

ZZ schließt FF nach dem Speichern der Sitzung.

fBeschriftet alle Links in der Seitenansicht mit hervorgehobenen Nummern. Wenn Sie eine Zahl eingeben, wird der Link geöffnet. Alle markierten Felder sind durchsuchbar. Anstatt Zahlen einzugeben, können Sie also den Text in den hervorgehobenen Link eingeben, zu dem Sie wechseln möchten.

F Öffnet Links in einer Hintergrundregisterkarte.

h j k lum auf der Seite zu navigieren left down upundright

Vimperator bietet eine Vielzahl von Tastaturkürzeln (und macht das ganze Erlebnis sicherlich mausfrei), und die meisten Standardkürzel von FF funktionieren wie gewohnt. Sie können Verknüpfungen zum Hervorheben von Text finden, sie kopieren, die Seite wie ein Textdokument navigieren, vergrößern / verkleinern, den Hover eines Links simulieren und alles, was Firefox dazu bringt, auf eine Maus zu reagieren.

Der einzige Ort, an dem es, soweit ich ihn benutzt habe, nicht funktioniert, ist in Flash-Boxen, da FF das Innere der Box nicht erreichen kann.

Es kann etwas gewöhnungsbedürftig sein, wenn Sie Vim nicht kennen oder neu sind. Eine wirklich umfangreiche Online-Hilfe ist jedoch nur ein :h<Enter>Weg.

Hier ist der Link .

Anscheinend ist vimperator nicht mehr mit modernen Firefox-Versionen kompatibel. sylvainulg vor 5 Jahren 0
-1
Homer Simpsons
  • Versuchen Sie NoScript - Plugin für Firefox einige JS - Skripte zu deaktivieren http://noscript.net/
NoScript ermöglicht es Ihnen, Javascript in bestimmten Domains zu laden oder nicht. Ich benutze es bereits, und es ist großartig, was es macht, aber haben Sie versucht, zB Facebook oder StackExchange ohne Javascript zu verwenden? Die Erfahrung ist irgendwo zwischen ziemlich schmerzhaft und völlig unbrauchbar. Das Deaktivieren des gesamten Javascript für Facebook, nur um meine Esc-Taste wieder normal zu machen, ist eher übertrieben. a CVn vor 10 Jahren 0
Markieren Sie das Skript als nicht vertrauenswürdig. Pic: http://i.stack.imgur.com/45aAv.png oder verwenden Sie einen Proxy, um die Antwort eines Skripts zu blockieren, z. Geiger Homer Simpsons vor 10 Jahren 0
Wenn ich NoScript verwende, um zB facebook.com als nicht vertrauenswürdig zu kennzeichnen, wird * no * Javascript aus facebook.com ausgeführt. Das will ich nicht. Bitte lesen Sie die Frage erneut. a CVn vor 10 Jahren 0
Verwenden Sie diesen Link: https://addons.mozilla.org/sv-se/firefox/addon/greasemonkey/ und Skript-Link: http://userscripts.org/scripts/show/125936 <= siehe hier ("if (src.search (/bad\.js/)! = -1) {") Homer Simpsons vor 10 Jahren 0
Ich sehe immer noch nicht, wie mir das hilft. Können Sie es in Ihre Antwort mit einer ausführlicheren Erklärung, wie es die Frage beantwortet, bearbeiten? a CVn vor 10 Jahren 0