Bagaimana cara mengatur Google Chrome untuk tidak mengizinkan javascript membajak menu klik kanan saya

45

Saya membenci situs web yang membajak tombol kanan mouse saya melalui javascript. Browser lain (seperti firefox) memungkinkan saya untuk memblokir situs dari melakukan ini. Apakah chrome memiliki opsi seperti itu, atau apakah itu meninggalkan saya pada belas kasihan desainer situs web yang mengganggu?

Saya tidak ingin mematikan javascript sepenuhnya. Saya hanya ingin memblokir javascript dari mengambil alih tombol kanan mouse saya. Firefox memungkinkan Anda menghentikan javascript dari melakukan hal-hal spesifik seperti ini. Saya mencoba mencari tahu apakah Chrome juga. Saya akan menganggap itu tidak pada saat ini.

Peter
sumber

Jawaban:

17

Coba ekstensi Chrome ini, ini secara spesifik menghentikan situs web dari pemblokiran tombol klik kanan.

Aktifkan Klik Kanan

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

Alexander Lai
sumber
ini terlihat menjanjikan!
Peter
4
Chrome yang benar-benar mengecewakan membutuhkan ekstensi untuk ini, tetapi itu mengatasi masalah. Memilih jawaban, tetapi masih mencari solusi yang lebih baik.
JM Becker
Ini bekerja seperti pesona. Saya bersiap-siap untuk membangun ekstensi saya sendiri. Yay untuk penelitian.
Hingga
7
@Karl Morrison: Saya pikir Anda mungkin salah memahami kritik saya, saya tidak mengkritik chrome karena menonaktifkan menu klik kanan. Saya kesal karena chrome tidak menyediakan metode untuk menonaktifkan fungsi Javascript secara selektif. Juga ingin menyebutkan bahwa menonaktifkan JavaScript akan membuat banyak situs tidak berfungsi. Firefox menyediakan opsi Javascript "Nonaktifkan atau ganti menu konteks".
JM Becker
1
@Alexander, Tidak berfungsi. Diuji di Google Documents menggunakan browser Chrome.
Pacerier
14

Tekan F12untuk mengeluarkan Alat Pengembang Google Chrome dan navigasikan ke Consoletab dan jalankan perintah di bawah ini:

document.oncontextmenu=null;

Seharusnya mengembalikan sebagian besar menu konteks.

Ini juga bisa digunakan untuk Firefox.

Tentu saja di Firefox Anda bisa menggunakan Shift+ klik kanan untuk mem-bypass menu konteks JS.

Shi B.
sumber
7
Tidak bekerja Diuji di Google Documents menggunakan browser Chrome.
Pacerier
@Pacerier Saya tidak tahu apa voodoo magic yang dilakukan Google pada Docs, itu tidak menggunakan oncontextmenu dan dengan demikian solusi saya tidak berfungsi. Namun, metode lain yang saya sebutkan harus bekerja di bawah Chrome juga, gunakan Shift + klik kanan untuk membuka menu konteks asli.
Shi B.
Tidak bekerja untuk saya.
Ben Wheeler
1
Untuk menangkal komentar "tidak berfungsi" - ini berhasil, mungkin tidak bekerja untuk setiap situs web, tetapi jawaban dari @ shi-b tidak bekerja ...
Robert Swift
Itu akan tergantung pada apa elemen dom tempat pendaftar eventmen dilampirkan. Seringkali itu akan menjadi dokumen tetapi bisa dilampirkan ke elemen apa pun.
Scott Christopherson
4

Saya menemukan solusi yang dapat diterima, dari About.com . Ini adalah bookmarklet kecil, yang secara alami harus diklik untuk menonaktifkan JS yang mengganggu ini. Namun saya merasa lebih baik daripada opsi gaya Firefox, karena banyak situs perlu klik kanan mengendalikan JS. Misalnya Google Documents dll ...

Setidaknya saya tidak perlu membuang sumber daya untuk menyimpan ekstensi tambahan di memori. Anda dapat menonton bagaimana chrome menyimpan ekstensi dengan pengelola tugasnya, tentu saja Anda membutuhkan ekstensi yang diinstal untuk menonton.

JM Becker
sumber
Kodenya adalah javascript:void(document.onmousedown=null);void(document.onclick=null);void(document.oncontextmenu=null). Sayangnya itu tidak berfungsi untuk saya di Netflix dengan Google Chrome. Tetapi chrome.google.com/webstore/detail/allow-right-click/… bekerja .
Aaron Thoma
2

Saya menggunakan NotScripts

SUNTING:

Saya telah beralih ke ScriptNo , yang memiliki kontrol lebih rinci

Moab
sumber
1
Apakah itu memungkinkan Anda mengontrol javascript apa yang dapat dan tidak bisa dilakukan pada halaman, atau apakah itu hanya memblokir javascript sekaligus?
Peter
Itu memblokir js oleh domain, setiap domain yang dipilih oleh Anda, tergantung pada apa yang Anda maksud dengan membajak klik kanan Anda, apakah maksud Anda itu mengubah menu konteks Anda?
Moab
3
Iya. saya ingin kemampuan untuk menghentikan javascript menggunakan peristiwa klik mouse yang berasal dari tombol kanan mouse saya.
Peter
Solusi lain non grata, tetapi langkah besar di atas JS sepenuhnya dinonaktifkan. Saya telah menggunakan noscript FireFox, yang masih sulit digunakan, tetapi notasi Chrome sebenarnya lebih buruk. Keduanya membutuhkan cengkeraman intervensi manual, dan pada dasarnya hanya mengaktifkan / menonaktifkan JS sepenuhnya per domain. Jika Anda ingin menyelesaikan masalah, menonaktifkan JS DOM spesifik berbutir halus, keduanya tidak cukup. Meskipun dari kulit gigi, cukup baik untuk menghindari downvote saya.
JM Becker
@ TechZilla periksa hasil edit saya di atas
Moab
0

Buklet buku ini berfungsi di situs Google / Youtube pada Agustus 2019 (diuji di Chrome dan 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();

Untuk situs peskier, set / pass agresif ke true (ini akan menonaktifkan sebagian besar penangan acara dan karenanya menonaktifkan interaksi dengan halaman):

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();
Chema
sumber
-1

Anda dapat dengan mudah mengaktifkan / menonaktifkan atau mengizinkan / memblokir javascript di situs web mana pun di Google chrome. Cukup klik pada tanda kertas sebelum url situs. Di bawah izin Anda akan melihat javescript, klik panah bawah Anda akan melihat menu, pilih "Selalu cekal di situs ini" dan muat ulang halaman web sehingga perubahan dapat terjadi.

Semoga ini bisa membantu.

Berikut ini tautan ke gambar.

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

Tahir taous
sumber
2
Saya tidak mencoba memblokir semua javascript. Saya hanya ingin memblokir javascript dari memotong klik kanan mouse. Beberapa browser memberi Anda opsi itu.
Peter
-1

Saya menemukan ekstensi chrome RightToCopy ini

itu memungkinkan klik kanan dan pilih dan salin fitur teks dari situs.

JerryGoyal
sumber
-1

Membangun solusi Shi B. Saya mendapatkan cara yang andal untuk memecahkan masalah di Google Chrome.

(1) Dapatkan plugin javascript-untuk-web khusus untuk Chrome.

(2) Rekatkan document.oncontextmenu=null;ke konsol plugin.

Bekerja seperti pesona.

Karolis
sumber
(Saya tahu ini sudah tua, tapi saya terlalu penasaran untuk membiarkannya). Mengapa Anda menggunakan itu daripada konsol default untuk ini? Bagi saya itu hanya tampak seperti cara yang lebih sulit untuk mencapai hal yang persis sama.
Dennis Krøger
1
dalam kasus saya, saya kembali ke situs web yang sama (Dropbox Paper). Jadi secara otomatis skrip itu dijalankan untuk satu situs web. Untungnya, perusahaan memperbaikinya
Karolis
document.oncontextmenu=null;tidak berfungsi di sheets.google.com di chrome.
xaxxon