Làm cách nào để tôi đặt Google Chrome không cho phép javascript chiếm quyền điều khiển menu nhấp chuột phải của tôi


45

Tôi coi thường các trang web chiếm quyền điều khiển nút chuột phải của tôi thông qua javascript. Các trình duyệt khác (như firefox) cho phép tôi chặn các trang web thực hiện việc này. Liệu chrome có một tùy chọn như vậy, hoặc nó khiến tôi phải chịu sự thương hại của các nhà thiết kế trang web gây phiền nhiễu?

Tôi không muốn tắt javascript hoàn toàn. Tôi chỉ muốn chặn javascript chiếm lấy nút chuột phải của tôi. Firefox cho phép bạn ngăn javascript làm những việc cụ thể như thế này. Tôi đang cố gắng tìm hiểu xem Chrome có làm như vậy không. Tôi sẽ giả định rằng nó không ở thời điểm này.

Câu trả lời:


17

Hãy thử tiện ích mở rộng Chrome này, nó đặc biệt ngăn các trang web chặn nút nhấp chuột phải.

Kích hoạt Nhấp chuột phải

https://chrom.google.com.vn/webstore/detail/enable-right-click/hhojmcideegachlhfgfdhailpfhgknjm


Điều này có vẻ đầy hứa hẹn!
Peter

4
Chrome thực sự đáng thất vọng đòi hỏi một phần mở rộng cho điều này, nhưng nó giải quyết vấn đề. Bỏ phiếu trả lời, nhưng vẫn tìm kiếm bất kỳ giải pháp tốt hơn.
JM Becker

Điều này làm việc như một nét duyên dáng. Tôi đã sẵn sàng để xây dựng phần mở rộng của riêng mình. Yay cho nghiên cứu.
Đến

7
@Karl Morrison: Tôi nghĩ rằng bạn có thể đã hiểu nhầm lời chỉ trích của tôi, tôi đã không chỉ trích chrome vì vô hiệu hóa menu chuột phải. Tôi đã bị kích thích rằng chrome không cung cấp một phương pháp để vô hiệu hóa có chọn lọc các chức năng Javascript. Cũng muốn đề cập đến việc vô hiệu hóa JavaScript sẽ khiến nhiều trang web không hoạt động. Firefox cung cấp tùy chọn Javascript "Vô hiệu hóa hoặc thay thế menu ngữ cảnh".
JM Becker

1
@Alexander, Không hoạt động. Đã thử nghiệm trên Google Docs bằng trình duyệt Chrome.
Pacerier

14

Nhấn F12để đưa Công cụ dành cho nhà phát triển Google Chrome ra ngoài và điều hướng đến Consoletab và chạy bên dưới lệnh:

document.oncontextmenu=null;

Nó sẽ mang lại hầu hết các menu ngữ cảnh trở lại.

Nó cũng hoạt động cho Firefox.

Tất nhiên trên Firefox, bạn chỉ có thể sử dụng Shift+ nhấp chuột phải để bỏ qua menu ngữ cảnh JS.


7
Không hoạt động. Đã thử nghiệm trên Google Docs bằng trình duyệt Chrome.
Pacerier

@Pacerier Tôi không biết ma thuật voodoo nào đã tạo ra trên Docs, nó không sử dụng oncontextmenu và do đó giải pháp của tôi không hiệu quả. Tuy nhiên, phương pháp khác mà tôi đã đề cập cũng hoạt động trong Chrome, sử dụng Shift + nhấp chuột phải để hiển thị menu ngữ cảnh ban đầu.
Shi B.

Không làm việc cho tôi.
Ben Wheeler

1
Để chống lại các bình luận "không hoạt động" - điều này không hoạt động, nó có thể không hoạt động cho mọi trang web, nhưng câu trả lời từ @ shi-b không hoạt động ...
Robert Swift

Nó sẽ phụ thuộc vào yếu tố dom mà người tổ chức sự kiện bối cảnh được đính kèm. Thường thì nó sẽ là tài liệu nhưng nó có thể được gắn vào bất kỳ yếu tố nào.
Scott Christopherson

4

Tôi tìm thấy một giải pháp chấp nhận được, từ About.com . Đó là một bookmarklet nhỏ, mà về bản chất phải được bấm để buộc vô hiệu hóa JS gây phiền nhiễu đặc biệt này. Tuy nhiên tôi thấy nó tốt hơn tùy chọn kiểu Firefox, vì nhiều trang web cần kiểm soát nhấp chuột phải vào JS. Ví dụ: Google Docs, v.v ...

Ít nhất tôi không cần lãng phí tài nguyên lưu trữ một phần mở rộng bổ sung trong bộ nhớ. Bạn có thể xem cách chrome lưu trữ các tiện ích mở rộng với trình quản lý tác vụ của nó, về phần thô bạn cần một tiện ích mở rộng được cài đặt để xem.


Mã là javascript:void(document.onmousedown=null);void(document.onclick=null);void(document.oncontextmenu=null). Thật không may, nó không hoạt động với tôi trong Netflix với Google Chrome. Nhưng chrome.google.com/webstore/detail/allow-right-click/ đã làm việc .
Aaron Thoma

2

Tôi sử dụng NotScripts

BIÊN TẬP:

Tôi đã chuyển sang ScriptNo , có kiểm soát chi tiết hơn


1
Điều đó có cho phép bạn kiểm soát những gì javascript có thể và không thể làm trên một trang không, hay nó chỉ chặn hoàn toàn javascript?
Peter

Nó chặn js theo tên miền, mỗi tên miền do bạn chọn, tùy thuộc vào ý nghĩa của bạn khi chiếm quyền nhấp chuột phải của bạn, bạn có nghĩa là nó thay đổi menu ngữ cảnh của bạn?
Moab

3
Đúng. tôi muốn khả năng ngăn javascript sử dụng các sự kiện nhấp chuột xuất phát từ nút chuột phải của tôi.
Peter

Một giải pháp khác không phải là grata, nhưng một bước tiến lớn trên JS đã bị vô hiệu hóa hoàn toàn. Tôi đã sử dụng noscript FireFox, vẫn khó sử dụng, nhưng các bản mô tả Chrome thực sự còn tồi tệ hơn. Cả hai đều yêu cầu sự can thiệp thủ công và về cơ bản chỉ cần bật / tắt hoàn toàn JS trên mỗi miền. Nếu bạn muốn giải quyết vấn đề, vô hiệu hóa JS DOM cụ thể chi tiết, cả hai đều không đủ. Mặc dù bằng da của răng, nó chỉ đủ tốt để tránh nhược điểm của tôi.
JM Becker

@TechZilla kiểm tra chỉnh sửa của tôi ở trên
Moab

0

Cuốn sách nhỏ này hoạt động trong các trang web / Youtube của Google kể từ tháng 8 năm 2019 (được thử nghiệm trong Chrome và Firefox):

javascript: function enableContextMenu(aggressive = false) { void(document.ondragstart=null); void(document.onselectstart=null); void(document.onclick=null); void(document.onmousedown=null); void(document.onmouseup=null); void(document.body.oncontextmenu=null); enableRightClickLight(document); if (aggressive) { enableRightClick(document); removeContextMenuOnAll("body"); removeContextMenuOnAll("img"); removeContextMenuOnAll("td"); } } function removeContextMenuOnAll(tagName) { var elements = document.getElementsByTagName(tagName); for (var i = 0; i < elements.length; i++) { enableRightClick(elements[i]); } } function enableRightClickLight(el) { el || (el = document); el.addEventListener("contextmenu", bringBackDefault, true); } function enableRightClick(el) { el || (el = document); el.addEventListener("contextmenu", bringBackDefault, true); el.addEventListener("dragstart", bringBackDefault, true); el.addEventListener("selectstart", bringBackDefault, true); el.addEventListener("click", bringBackDefault, true); el.addEventListener("mousedown", bringBackDefault, true); el.addEventListener("mouseup", bringBackDefault, true); } function restoreRightClick(el) { el || (el = document); el.removeEventListener("contextmenu", bringBackDefault, true); el.removeEventListener("dragstart", bringBackDefault, true); el.removeEventListener("selectstart", bringBackDefault, true); el.removeEventListener("click", bringBackDefault, true); el.removeEventListener("mousedown", bringBackDefault, true); el.removeEventListener("mouseup", bringBackDefault, true); } function bringBackDefault(event) { event.returnValue = true; (typeof event.stopPropagation === 'function') && event.stopPropagation(); (typeof event.cancelBubble === 'function') && event.cancelBubble(); } enableContextMenu();

Đối với các trang web peskier, đặt / chuyển tích cực thành đúng (điều này sẽ vô hiệu hóa hầu hết các trình xử lý sự kiện và do đó vô hiệu hóa tương tác với trang):

javascript: function enableContextMenu(aggressive = true) { void(document.ondragstart=null); void(document.onselectstart=null); void(document.onclick=null); void(document.onmousedown=null); void(document.onmouseup=null); void(document.body.oncontextmenu=null); enableRightClickLight(document); if (aggressive) { enableRightClick(document); removeContextMenuOnAll("body"); removeContextMenuOnAll("img"); removeContextMenuOnAll("td"); } } function removeContextMenuOnAll(tagName) { var elements = document.getElementsByTagName(tagName); for (var i = 0; i < elements.length; i++) { enableRightClick(elements[i]); } } function enableRightClickLight(el) { el || (el = document); el.addEventListener("contextmenu", bringBackDefault, true); } function enableRightClick(el) { el || (el = document); el.addEventListener("contextmenu", bringBackDefault, true); el.addEventListener("dragstart", bringBackDefault, true); el.addEventListener("selectstart", bringBackDefault, true); el.addEventListener("click", bringBackDefault, true); el.addEventListener("mousedown", bringBackDefault, true); el.addEventListener("mouseup", bringBackDefault, true); } function restoreRightClick(el) { el || (el = document); el.removeEventListener("contextmenu", bringBackDefault, true); el.removeEventListener("dragstart", bringBackDefault, true); el.removeEventListener("selectstart", bringBackDefault, true); el.removeEventListener("click", bringBackDefault, true); el.removeEventListener("mousedown", bringBackDefault, true); el.removeEventListener("mouseup", bringBackDefault, true); } function bringBackDefault(event) { event.returnValue = true; (typeof event.stopPropagation === 'function') && event.stopPropagation(); (typeof event.cancelBubble === 'function') && event.cancelBubble(); } enableContextMenu();

-1

Bạn có thể dễ dàng bật / tắt hoặc cho phép / chặn javascript trên bất kỳ trang web nào trong Google chrome. Chỉ cần nhấp vào dấu giấy trước url trang web. Trong các hoán vị, bạn sẽ thấy javescript, nhấp vào mũi tên bạn sẽ thấy một menu, chọn "Luôn chặn trên trang web này" và tải lại trang web để thay đổi có hiệu lực.

Hy vọng điều này sẽ giúp.

Đây là liên kết đến hình ảnh.

https://www.facebook.com/photo.php?fbid=10201389704683447&l=5294c0075e


2
Tôi không cố gắng chặn tất cả javascript. Tôi chỉ muốn chặn javascript chặn chuột phải. Một số trình duyệt cung cấp cho bạn tùy chọn đó.
Peter

-1

Tôi tìm thấy tiện ích mở rộng chrome này RightToCopy

nó cho phép nhấp chuột phải và chọn và sao chép tính năng văn bản từ các trang web.


-1

Dựa trên giải pháp Shi B. Tôi có một cách đáng tin cậy để giải quyết vấn đề trên Google Chrome.

(1) Nhận plugin tùy chỉnh javascript cho web cho Chrome.

(2) Dán document.oncontextmenu=null;vào bảng điều khiển của plugin.

Hoạt động như một lá bùa.


(Tôi biết điều này đã cũ, nhưng tôi quá tò mò muốn nói về nó) Tại sao trên thế giới bạn sẽ sử dụng nó thay vì bảng điều khiển mặc định cho việc này? Đối với tôi nó chỉ giống như một cách khó hơn để đạt được chính xác như vậy.
Dennis Krøger

1
trong trường hợp của tôi, tôi đã trở lại cùng một trang web (Dropbox Paper). Vì vậy, nó tự động có tập lệnh đó được thực thi cho một trang web. May mắn thay, công ty đã sửa nó
Karolis

document.oncontextmenu=null;không hoạt động trên sheet.google.com trong chrome.
xaxxon
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.