Wie kann ich verhindern, dass Websites in Firefox Tastatureingaben erbeuten oder entführen? [Duplikat]

17

Einige Websites (heutzutage offenbar immer mehr) missbrauchen verschiedene Tastenkombinationen, um Aktionen innerhalb der Website selbst durchzuführen und von dieser selbst zu definieren. Es gibt das spezifische Beispiel von /in GMail in einer unpassend betitelten Frage; Es gibt das StackExchange-Bearbeitungsfeld, das Ctrl+ Gfür "Bild hinzufügen " hijackt (anstelle von Firefox 'normalem "Weitersuchen"). Es gibt Facebook-Hijacking Esc, um ein Overlay zu verbergen und nicht das übliche "Stop-Loading". Ich bin mir sicher, dass ich mit Beispielen weitermachen könnte, aber dies sollte ausreichen, um zu veranschaulichen, dass es sich bei dieser Frage nicht um eine bestimmte Website handelt.

Ich benutze die Tastatur häufig und Tastenkombinationen, die sich je nach Website unterschiedlich verhalten, sind für mich ein großes Ärgernis. Wenn ich eine vom Browser festgelegte Tastenkombination drücke, möchte ich, dass die vom Browser festgelegte Aktion ausgeführt wird, und nicht etwas anderes. Ich möchte auch nicht, dass bestimmte Funktionen, auf die normalerweise über die Tastatur zugegriffen werden kann, nicht über die Tastatur zugegriffen werden können oder plötzlich anderen Tastenkombinationen zugewiesen werden.

Mir ist klar, dass dies einige Dinge auf einigen Websites umständlicher macht, 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 selbst definierte Verhalten bevorzugt wird?

Ideal wäre eine Lösung, die zumindest für die Firefox-Versionen 20, 21 und 22 sowohl unter Linux als auch unter Windows funktioniert.

Bearbeiten Mozilla Bugzilla Bug 380637 Should Webseite der Lage sein , die Browser-Tastaturbefehle außer Kraft zu setzen? scheint darauf hinzudeuten, dass es zumindest angeschaut wird. Dieser Fehler wurde ursprünglich Mitte 2007 gemeldet und ist ab Mitte 2013 immer noch aktiv. Interessanterweise galt der Fehler 775002 Das Deaktivieren von Javascript, um Tastaturkürzel zu hijacken, als Duplikat um Firefox 15.

ein CVn
quelle
2
Ich vermute, sie machen das über Javascript. Wenn ja, gibt es keine generische Möglichkeit, es zu deaktivieren, ohne Javascript zu deaktivieren.
Daniel R Hicks
yep vielleicht api.jquery.com/keypress . Es wäre interessant, wenn es ein Addon gäbe, das das Umschreiben selektiver .js auf Client-Seite erlaubt. Sie können diese Anrufe dann einfach mit Regex oder ähnlichem auskommentieren
James
4
Selbst wenn dies über Javascript erfolgt, muss irgendwo ein Tastendruck-Listener beteiligt sein, und diese Funktionalität wird vom Browser bereitgestellt . Ich sehe keinen Grund, warum dieser Code nicht so geändert werden konnte, dass der Browser zuerst alle Tastenanschläge (möglicherweise mit Änderungstasten) interpretiert, und wenn der Browser als Antwort eine Aktion ausführt, wird der Tastendruck nicht an das vom bereitgestellte Javascript weitergeleitet Website. Es sollte ziemlich einfach sein, ein solches Verhalten konfigurierbar zu machen (wenn Sie es nicht über die Einstellungs-GUI verfügbar machen möchten, geht es immer noch um: config, das bereits den Zugriff auf viele dieser erweiterten Einstellungen ermöglicht).
ein Lebenslauf
@ Downvoter Warum die Downvote?
ein Lebenslauf vom
1
@ Karan Diese Frage ist volle drei Jahre alt und die akzeptierte Antwort spricht über Firefox 3.6 . Ich bin zwar nicht ganz mit dem aktuellen Versionsnummernschema von Firefox einverstanden, aber wir sind seitdem wahrscheinlich weit über 20 Releases, und das in drei Jahren Entwicklungszeit. Was ist zu sagen, die darin enthaltenen Antworten gelten weiterhin für aktuelle Versionen von Firefox?
ein Lebenslauf vom

Antworten:

1

Sie können das Vimperator-Plugin verwenden. Mit dem Ziel, Firefox zu einer reinen Tastaturschnittstelle zu machen, wird zunächst jeder Tastendruck abgehört, den Sie drücken, und es werden eigene Aktionen ausgeführt. Manchmal, wenn Sie die auf der Site definierten Tastatur-Hijacks benötigen, können Sie einen Passthrough-Modus für einen bestimmten Zeitraum einfach aktivieren / deaktivieren.

Nehmen wir den Fall GMail, der eine Vielzahl von Tastaturkürzeln bietet. Wenn Sie jedoch eine solche Verknüpfung drücken, wird diese von Vimperator selbst ausgeführt. Wenn Sie beispielsweise /in GMail drücken, wird der Cursor normalerweise im Suchfeld platziert. /Wenn Sie jedoch auf einer GMail-Seite drücken, während Vimperator aktiv ist, wird die Standard-Seitensuche (ua Suche im Vim-Editor) ausgelöst. Gleicher Fall für andere GMail-Verknüpfungen wie o coder sogar Ctrl+Enter. Dies bedeutet, dass Vimperator der 0te Listener für Tastenanschläge in Firefox ist und sogar die ersten möglichen Listener übersteuert, sodass Ihre Tastaturkürzel im gesamten Browser global sind.

Vimperator ist im Grunde ein Vim-Wrapper über Firefox. Wenn Sie mit Vim vertraut sind, wird Ihnen Vimperator wie ein lang verlorener Freund vorkommen. :-)

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

o<link>öffnet die. Diese Sequenz bewirkt, dass die Vimperator-Befehlszeile (am unteren Bildschirmrand) aktiviert wird und der Befehl open <link>dort platziert wird, 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 einem neuen Tab.

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 Zahlen. Wenn Sie eine Zahl eingeben, wird der Link geöffnet. Alle markierten Felder können durchsucht werden. Anstatt also Zahlen einzugeben, können Sie auch einen beliebigen 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 mit Sicherheit schmerzlos mausfrei), und die meisten Standardkürzel von FF funktionieren wie gewohnt. Sie können Verknüpfungen finden, um Text hervorzuheben, zu kopieren, auf der Seite wie in einem Textdokument zu navigieren, zu vergrößern / zu verkleinern, den Schwebeflug auf einem Link zu simulieren und einfach alles zu platzieren, was Firefox dazu bringt, auf eine Maus zu reagieren.

Der einzige Ort, an dem es nicht funktioniert, wie ich es benutzt habe, ist in Flash-Boxen, weil FF nicht erreichen kann, was in ihnen ist.

Es kann etwas gewöhnungsbedürftig sein, wenn Sie sich nicht mit Vim auskennen oder noch nicht mit Vim vertraut sind. Eine wirklich umfangreiche Online-Hilfe ist jedoch nur einen :h<Enter>Katzensprung entfernt.

Hier ist der Link .

Sriharsha
quelle
Anscheinend ist Vimperator nicht mehr mit modernen Firefox-Versionen kompatibel.
Sylvainulg
-1
  • Versuchen Sie es mit NoScript - Plugin für Firefox , um einige JS - Skripte zu deaktivieren http://noscript.net/
Homer Simpsons
quelle
1
Mit NoScript können Sie das gesamte Javascript aus bestimmten Domänen laden oder nicht laden. Ich benutze es bereits und es ist großartig, was es tut, aber haben Sie versucht, z. B. Facebook oder StackExchange ohne Javascript zu verwenden? Die Erfahrung ist irgendwo zwischen ziemlich schmerzhaft und geradezu unbrauchbar. Das globale Deaktivieren von Javascript für Facebook, um die normale Esc-Taste wiederherzustellen, ist ziemlich übertrieben.
einen Lebenslauf vom
Versuchen Sie, das Skript als nicht vertrauenswürdig zu markieren . Fiddler
Homer Simpsons
Wenn ich NoScript verwende, um zB facebook.com als nicht vertrauenswürdig zu markieren, wird kein Javascript ausgeführt, das von facebook.com stammt. Das will ich nicht. Bitte lesen Sie die Frage erneut.
ein Lebenslauf
Verstanden, benutze diesen Link: addons.mozilla.org/sv-se/firefox/addon/greasemonkey und Skriptlink : userscripts.org/scripts/show/125936 <= schau hier ("if (src.search (/ bad \. js /)! = -1) {")
Homer Simpsons
Ich sehe immer noch nicht, wie mir das hilft. Können Sie es in Ihre Antwort mit einer ausführlicheren Erläuterung der Beantwortung der Frage einfügen?
einen Lebenslauf vom