Làm cách nào để ngăn chặn việc lấy / gõ phím của các trang web trong Firefox? [bản sao]


17

Một số trang web (dường như ngày càng tăng trong số chúng ngày nay) chiếm quyền điều khiển các tổ hợp phím khác nhau để thực hiện các hành động bên trong và được xác định bởi chính trang web. Có ví dụ cụ thể về /GMail trong một câu hỏi có tiêu đề không phù hợp; có hộp chỉnh sửa StackExchange đánh cắp Ctrl+ Gcho "Thêm hình ảnh" (thay vì "Tìm tiếp theo" thông thường của Firefox); Có Facebook chiếm quyền điều khiển Escđể che giấu lớp phủ thay vì "dừng tải" thông thường. Tôi chắc chắn rằng tôi có thể tiếp tục với các ví dụ, nhưng điều này đủ để minh họa rằng câu hỏi này không phải là về bất kỳ một trang web cụ thể nào.

Tôi sử dụng bàn phím rộng rãi và các phím tắt hoạt động khác nhau dựa trên trang web tôi đang truy cập là một phiền toái lớn đối với tôi. Nếu tôi nhấn phím tắt do trình duyệt xác định, tôi muốn thực hiện hành động được xác định bởi trình duyệt, chứ không phải điều gì khác. Tôi cũng không muốn một số tính năng nhất định mà bàn phím có thể truy cập thường không thể truy cập được bằng bàn phím hoặc đột nhiên bị ánh xạ vào các tổ hợp phím khác.

Tôi nhận ra rằng điều này có thể làm cho một số thứ trở nên cồng kềnh hơn trên một số trang web, nhưng trong trường hợp này tôi thích sự nhất quán hơn.

Có thể thiết lập Firefox để ngăn chặn hoặc bỏ qua các vụ tấn công như vậy bởi các trang web và ủng hộ hành vi được xác định của Firefox không?

Một giải pháp hoạt động ít nhất cho các phiên bản Firefox 20, 21 và 22 trên cả Linux và Windows sẽ là lý tưởng.

Chỉnh sửa Mozilla Bugzilla Bug 380637 Các trang web có thể ghi đè các phím tắt của trình duyệt không? dường như cho thấy nó ít nhất là được nhìn vào. Lỗi đó ban đầu được gửi vào giữa năm 2007 và vẫn còn hoạt động kể từ giữa năm 2013. Thật thú vị, lỗi 775002 Cho phép người dùng vô hiệu hóa javascript để chiếm quyền điều khiển các phím tắt được coi là một bản sao xung quanh Firefox 15.


2
Tôi nghi ngờ họ đang làm điều này thông qua Javascript. Nếu vậy, sẽ không có cách chung nào để vô hiệu hóa nó mà không vô hiệu hóa Javascript.
Daniel R Hicks

vâng có thể api.jquery.com/keypress . Sẽ rất thú vị nếu có một addon cho phép .js viết lại ở phía máy khách. sau đó bạn có thể nhận xét các cuộc gọi này bằng regex hoặc tương tự
James

4
Ngay cả khi được thực hiện thông qua Javascript, một nơi nào đó phải có người nghe nhấn phím liên quan và chức năng đó được cung cấp bởi trình duyệt . Tôi thấy không có lý do tại sao mã đó không thể được sửa đổi để trình duyệt diễn giải bất kỳ tổ hợp phím nào (có thể bằng các phím bổ trợ) và nếu trình duyệt thực hiện bất kỳ hành động nào để phản hồi, nhấn phím sẽ không được chuyển sang Javascript do trang web. Làm cho hành vi đó có thể định cấu hình được (nếu bạn không muốn hiển thị thông qua GUI cài đặt, vẫn còn về: config đã cho phép truy cập vào nhiều cài đặt nâng cao như vậy) khá dễ dàng.
một CVn

@Downvoter Tại sao downvote?
một CVn

1
@Karan Câu hỏi đó đã đủ ba tuổi và câu trả lời được chấp nhận nói về Firefox 3.6 . Mặc dù tôi không hoàn toàn đồng ý với sơ đồ đánh số phiên bản hiện tại của Firefox, nhưng có lẽ chúng tôi đã vượt quá 20 bản phát hành kể từ đó, sau ba năm phát triển. Điều gì để nói câu trả lời trong đó vẫn hợp lệ với các phiên bản hiện tại của Firefox?
một CVn

Câu trả lời:


1

Bạn có thể sử dụng plugin Vimperator. Nhằm mục đích biến Firefox thành giao diện chỉ dùng bàn phím, trước tiên, nó lắng nghe bất kỳ tổ hợp phím nào mà bạn nhấn và thực hiện các hành động của chính nó. Đôi khi, khi bạn sẽ yêu cầu sử dụng chiếm quyền điều khiển bàn phím được xác định của trang web, đôi khi bạn có thể dễ dàng bật / tắt chế độ chuyển qua.

Chúng ta hãy lấy trường hợp của GMail, loại bỏ một loạt các phím tắt. Nhưng khi bạn nhấn bất kỳ phím tắt nào như vậy, nó sẽ được xử lý bởi chính Vimperator. Ví dụ: nhấn /bên trong GMail thường đặt con trỏ vào hộp tìm kiếm. Nhưng nhấn /vào trang GMail khi Vimperator đang hoạt động sẽ kích hoạt tìm kiếm trang mặc định của nó (tìm kiếm ala trong trình chỉnh sửa Vim). Trường hợp tương tự cho các phím tắt GMail khác như o choặc thậm chí Ctrl+Enter. Điều này có nghĩa là, Vimperator sẽ là người nghe thứ 0 cho các tổ hợp phím trong Firefox, vượt qua cả những người nghe đầu tiên có thể để các phím tắt của bạn có tính toàn cầu trên toàn trình duyệt.

Vimperator về cơ bản là một trình bao bọc Vim trên Firefox. Nếu bạn cảm thấy thoải mái với Vim, Vimperator sẽ có vẻ như là một người bạn đã mất từ ​​lâu. :-)

Dù sao, một vài phím tắt Vimperator để bạn bắt đầu với:

o<link>mở. Trình tự này làm cho dòng lệnh Vimperator (ở dưới cùng của màn hình) được kích hoạt và lệnh open <link>sẽ được đặt ở đó, với khoảng trống ở giữa được chèn cho bạn. Nhấn Enterđể tải trang.

t<linkkích hoạt lệnh tabopenvà mở liên kết trong một tab mới.

gtchuyển sang tab tiếp theo. Ctrl+TabCtrl+PgUp/Dncũng làm việc.

gT chuyển sang các tab trước đó.

ZZ đóng FF sau khi lưu phiên.

fnhãn tất cả các liên kết trong chế độ xem trang với các số được tô sáng. Nhập một số mở liên kết. Tất cả các trường được tô sáng có thể tìm kiếm. Vì vậy, thay vì nhập số, bạn có thể nhập bất kỳ văn bản nào trong liên kết được tô sáng mà bạn muốn đến.

F mở các liên kết trong một tab nền.

h j k lđể điều hướng trang left down upright

Vimperator cung cấp một loạt các phím tắt (và chắc chắn làm cho toàn bộ trải nghiệm không có chuột một cách dễ dàng) và hầu hết các phím tắt mặc định của FF hoạt động như bình thường. Bạn có thể tìm các phím tắt để tô sáng văn bản, sao chép chúng, điều hướng trang như thể đó là một tài liệu văn bản, phóng to / thu nhỏ, mô phỏng di chuột trên một liên kết và chỉ cần đặt bất cứ thứ gì có thể khiến Firefox phản ứng với chuột.

Nơi duy nhất mà nó không hoạt động xa như tôi đã sử dụng, là trong các hộp Flash, bởi vì, FF không thể tiếp cận những gì bên trong chúng.

Có thể mất một chút để làm quen nếu bạn không biết về Vim hoặc chưa quen với nó. Tuy nhiên, thực sự giúp đỡ trực tuyến rộng rãi chỉ là một :h<Enter>đi.

Đây là liên kết .


rõ ràng, vimperator không còn tương thích với các bản dựng hiện đại của firefox.
sylvainulg

-1
  • Hãy thử sử dụng plugin noscript cho firefox để vô hiệu hóa một số tập lệnh JS http://noscript.net/

1
NoScript cho phép bạn tải hoặc không tải tất cả Javascript từ các miền cụ thể. Tôi đã sử dụng nó và nó rất tuyệt với những gì nó làm, nhưng bạn đã thử sử dụng ví dụ như Facebook hoặc StackExchange không có Javascript chưa? Trải nghiệm là một nơi nào đó giữa khá đau đớn và hết sức không thể sử dụng. Việc vô hiệu hóa tất cả Javascript trên toàn cầu cho Facebook chỉ để đưa khóa Esc của tôi trở lại bình thường là khá quá mức.
CVn

hãy thử đánh dấu tập lệnh là Pic không đáng tin cậy: i.stack.imgur.com/45aAv.png hoặc sử dụng proxy để chặn mọi phản hồi từ tập lệnh, vd. fiddler
Homer Simpsons

Nếu tôi sử dụng NoScript để đánh dấu, ví dụ như facebook.com là không đáng tin cậy, sẽ không có Javascript nào có nguồn gốc từ facebook.com. Đây không phải là điều tôi muốn. Xin vui lòng đọc lại câu hỏi.
một CVn

Có nó sử dụng Liên kết này: addons.mozilla.org/sv-se/firefox/addon/greasemonkey và liên kết tập lệnh: userscripts.org/scripts/show/125936 <= look here ("if (src.search (/ bad \. js /)! = -1) {")
Simps Homer

Tôi vẫn không thấy điều đó giúp tôi như thế nào. Bạn có thể chỉnh sửa nó thành câu trả lời của bạn với một lời giải thích đầy đủ hơn về cách nó trả lời câu hỏi không?
một CVn
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.