Wiele stron internetowych, zwłaszcza wszystko z edycją tekstu sformatowanego (ta strona jest również winna), kradnie skróty klawiaturowe zwykle używane do sterowania Firefoksem i zamiast tego sprawia, że robią coś innego. To jest całkowicie irytujące, kiedy naciskam coś takiego jak numer Cmd, Cmd-L, Cmd-T lub Cmd-K i nie robi tego, co chcę. Czy mogę to zatrzymać?
Właściwie byłoby najlepiej, gdybym mógł zabronić kradzieży wszystkich skrótów Cmd- *. Nigdy nie widziałem ich użytych do niczego użytecznego. Czy to możliwe?
firefox
keyboard-shortcuts
website
wyprawiać
źródło
źródło
CTRL-;
przechodzi w tryb skrótów i podświetla wszystkie polecenia widoczne na ekranie za pomocą dostępnych skrótów. Każdy skrót jest kombinacją, więc nowa sprawa jestCTRL-; N
i edycja jestCTRL-; E
. Bardzo łatwo się przyzwyczaić i zero konfliktów. Chciałbym, aby więcej stron używało czegoś takiego, ponieważ jest to łatwiejsze dla użytkownika i nie zastępuje skrótów przeglądarki. Szkoda, że SuperUser tego nie robi, ponieważ pochodzi od tych samych ludzi co FogBugz.Odpowiedzi:
Dzięki nowej
@run-at
właściwości Greasemonkey jest to teraz możliwe!Inspirację czerpałem z tego skryptu i skryptu, aby połączyć je w skrypt użytkownika, który skutecznie przechwytuje skróty klawiaturowe Ctrl+ Ti Ctrl+ S. Testowałem w Firefox 17 ESR i Firefox 25.
źródło
e.ctrlKey
nae.cmdKey
ie.cmdKey && e.shiftKey
odzyskać większość ich skrótów w przeglądarce.9
do tablicy klawiszy. Dzięki!11 lat po zgłoszeniu błędu Mozilla wreszcie zaczęła pracować nad tym popularnym żądaniem funkcji i wydaje się, że teraz działa dobrze (testowane w przeglądarce Firefox 66.0.3 / Ubuntu).
(Podziękowania dla @PerJohansson za zwrócenie uwagi, że znacznie utrudniają znalezienie tego ustawienia od FF 59.)
Możesz wyłączyć skróty witryny, wykonując następujące kroki:
(i)
ikonę na pasku lokalizacji>
) po prawej stronie pozycji statusu „Połączenie”.More Information
na dole. Kliknij to, a w końcu przejdziesz doPage Info
okna dialogowego.Permissions
karty i dostosujOverride Keyboard Shortcuts
ustawienie.Oto kilka ostatnich zrzutów ekranu (maj 2019) dla każdego kroku:
Jeśli interesuje Cię historia tej poprawki, oto powiązane bilety Mozilli: https://bugzilla.mozilla.org/show_bug.cgi?id=380637 i https://bugzilla.mozilla.org/show_bug.cgi ? id = 1445942
źródło
about:config
opcja zmiany wartości domyślnej? Chcę zmusić wszystkie strony, aby nie mogły podłączyć się do mojej klawiaturyObszerne badania pokazują, że od obecnej wersji Firefoksa (3.6.x) jest to niemożliwe - wszystkie kluczowe konflikty wiążące są rozwiązywane według priorytetów: System> Strona internetowa> Firefox - to raczej głupie zamówienie. Żaden z dodatków, których próbowałem, nie wydaje się w stanie tego naprawić.
Być może stanie się to wykonalne w przyszłych wersjach, ale teraz odpowiedź brzmi - Niemożliwe.
źródło
Ponieważ wydaje się, że problem polega na tym, że zdarzenia klawiatury JavaScript kradną naciśnięcia klawiszy, czy nie byłoby możliwe zbudowanie skryptu JavaScript (do użycia za pomocą Greasemonkey), który odłączy wszystkie zdarzenia klawiatury, przywracając w ten sposób prawidłowe użycie każdego skrótu do przeglądarki?
Nie jestem pewien, czy jest to wykonalne, ale ktoś z większym doświadczeniem w JavaScript / Greasemonkey może być w stanie pomóc (warto zapytać o SO).
źródło
Problem polega na tym, że każda strona może uruchamiać Javascript, który konfiguruje moduł obsługi zdarzeń w celu przechwytywania zdarzeń związanych z naciśnięciem klawisza, a elementy sterujące javascript w Firefoksie nie są wystarczająco szczegółowe, aby zatrzymać je bez naruszenia innych funkcji javascript.
Jedynym sposobem, aby temu zapobiec, jest wyłączenie Javascript (Narzędzia -> Opcje, karta [Treść], odznacz Włącz JavaScript ). Możesz też wyłączyć Javascript dla poszczególnych witryn z rozszerzeniem takim jak NoScript.
Firefox pozwala zapobiegać niektórym zastosowaniom Javascript, takim jak przenoszenie / zmiana rozmiaru okien, zmiana lub wyłączenie menu kontekstowego itp .; ale nic nie stoi na przeszkodzie, aby strony internetowe przechwytywały zdarzenia związane z klawiaturą.
Może istnieje rozszerzenie, które daje ten poziom kontroli - nie znam go.
Istnieją opcje Javascript , ale to rozszerzenie nie jest już aktualizowane.
źródło
Prawdopodobnie wtyczki innych firm skupiają się na głównym oknie przeglądarki. W takim przypadku wejście klawiatury (oprócz przerwań) zostanie przechwycone przez wtyczkę. Jeśli ci się nie podoba, zawsze możesz usunąć szkodliwe wtyczki (przypuszczam, że to flash).
źródło
Po wielu testach w różnych przeglądarkach łatwiej jest przechwytywać klawisze, gdy są one wciśnięte (nie naciśnięte), ponieważ niektóre z tych „zintegrowanych klawiszy aplikacji” są trudne do przechwycenia ze zdarzeniem „naciśnięcie klawisza”.
Wymyśliłem ten skrypt, który jest w pewnym stopniu kompatybilny z wieloma przeglądarkami (nie testowałem IE Microsoftu). Zauważ, że przeglądarki zwracają różne kody dla niektórych kluczy. W moim przypadku chciałem zapobiec Ctrl + P.
Klawisz „P” na chromie jest postrzegany tak
e.keyCode == 80
, jak na operzee.charCode == 16
, podczas gdy na Firefoxiee.charCode == 112
Użyłem jQuery.
źródło
Jeśli chcesz wyłączyć każdą istotę ctrl-key przejęte przez strony, po prostu filtrować koduje wszystkich listu od AZ (budynek na uprzednio zaakceptowana i zawodowym odpowiedź)
źródło
Być może możesz użyć Autohotkey lub Autoit, jednego z tych programów, a jeśli możesz wykonywać kombinacje skrótów klawiszowych i łączyć je z funkcjami firefox, powiedz
Ctrl-; T
do nowej kartyCtrl-; N
do nowego okna i tak dalej.Nie wiem, jak korzystać z Autohotkey lub Autoit, więc ktoś inny będzie musiał sprawdzić, czy to może działać, oferuję to tylko jako potencjalny pomysł.
źródło
Obecna wersja przeglądarki Firefox pozwala nam „wyłączyć javascript, aby przejąć menu kontekstowe”:
Ale nie ma funkcji „wyłączania javascript do przechwytywania skrótów klawiaturowych”.
ps. Nienawidzę witryny Twittera, jej skróty klawiaturowe są sprzeczne z moimi systemowymi skrótami klawiaturowymi: J, K, L, I
Złożyłem prośbę o funkcję na bugzilla.mozilla.org, proszę tam skomentować: https://bugzilla.mozilla.org/show_bug.cgi?id=775002
źródło