Auf der JSFiddle verknüpfen Sie zumindest Ctrl- TABund Ctrl- Shift- TABnoch Funktion, so dass Sie auf den nächsten Reiter wechseln und Pass - Through - Modus zu beenden zurück. Aus irgendeinem Grund können Sie immer noch nicht auf die Befehlszeile zugreifen, aber andere Tasten funktionieren, sodass Sie die Seite jederzeit aktualisieren können, um das Problem rzu beheben.
Als weniger hackhafte Lösung können Sie einen Befehl in Ihrer .pentadactylrc-Datei definieren, um zu verhindern, dass die Seite die wichtigsten Ereignisse stiehlt:
command! nointercept -js document.addEventListener('keydown', function(e) { e.stopImmediatePropagation(); return false;}, true);
Wenn Sie dann
:nointercept
auf der Seite ausführen, bevor Sie auf den Hauptbereich klicken, können Sie den Passthrough-Modus deaktivieren. Bei dieser Methode funktioniert die Befehlszeile normal, nachdem der Passthrough-Modus verlassen wurde.Wenn Sie nur die Seite stoppen möchten, die den EscSchlüssel abfängt, können Sie den zu prüfenden Befehl ändern
e.keyCode===27
.Wenn Sie den obigen Code automatisch anwenden möchten, können Sie ihn in ein Benutzerskript umwandeln (erfordert Greasemonkey, wie Sie wahrscheinlich wissen). Das Folgende sollte funktionieren, wenn Sie nachher die richtigen URLs oder URL-Muster eingeben
@include
// ==UserScript== // @name nointercept // @description Prevent site from stealing key presses // @run-at document-start // @include http://site.url // ==/UserScript== document.addEventListener( 'keydown', function(e) { e.stopImmediatePropagation(); return false; }, true );
Wie kann ich den Pass Through-Modus in Pentadactyl beenden, wenn die Escape-Taste erfasst wird?
Schritte zum Reproduzieren:
Besuchen Sie diese Seite . Es ist eine JSFiddle, die vollständig aus besteht
window.onkeydown = function(e) { e.preventDefault(); };
Klicken Sie in den grauen Bereich unter der weißen oberen Leiste, um den Hauptbereich zu aktivieren.
Drücken Sie Ctrl+ Z, um den Durchleitungsmodus aufzurufen.
Drücken Esc. Dies wird fehlschlagen, da der Schlüssel von JavaScript abgefangen und niemals an Pentadactyl gesendet wird.
Im Beispiel lässt sich dies leicht abmildern, indem Sie auf die obere Leiste klicken, um den Fokus vom Bereich weg zu verschieben, in dem onkeydown
Escape den Passthrough-Modus durchläuft und beendet. Ich arbeite jedoch mit einer Website, die alle Tastendrücke (mit preventDefault
) über abfängt window.onkeydown
, so dass der Fokus nirgendwohin verlagert werden kann .
Die einzige Lösung, die ich finden konnte, ist, eine neue Registerkarte zu erstellen und sie dann zu schließen ( d
). Dies erfordert jedoch die Verwendung der Maus (da die t
Verknüpfung nicht mehr funktioniert, da wir uns im Durchreichmodus befinden), und es ist eine harte Workaround.
Gibt es eine Möglichkeit, den Pass-Through-Modus nur mit der Tastatur auf einer Website zu beenden, die alle Tastendrücke abfängt?
1 Antwort auf die Frage
Verwandte Probleme
-
3
Installieren Sie Silverlight für Mozilla Firefox ohne Administratorrechte
-
8
Firefox PDF-Plugin zum Anzeigen von PDF-Dateien im Browser unter Windows
-
2
Begrenzung der CPU-Auslastung für Flash in Firefox?
-
7
Gibt es unter Mac OS X ein Strg + Tab-Äquivalent?
-
6
Warum sieht Firefox unter Linux anders aus als Windows / Mac?
-
6
Apple Wireless (Aluminium) -Tastatur unter Windows
-
13
Wie bekomme ich eine neue Browsersitzung, wenn Sie in Firefox / Chrome eine neue Registerkarte oder...
-
1
Kopier- / Einfügefunktion verloren
-
2
Firefox zum Drucken von PDF-Schriftarten
-
4
Firefox 3.5 startet das Problem langsam