Bisakah saya menonaktifkan klik kanan pada halaman web saya tanpa menggunakan JavaScript? Saya menanyakan hal ini karena sebagian besar browser memungkinkan pengguna untuk menonaktifkan JavaScript.
Jika tidak, bagaimana cara menggunakan JavaScript untuk menonaktifkan klik kanan?
javascript
Vinay Pandey
sumber
sumber
Jawaban:
Anda dapat melakukannya dengan JavaScript dengan menambahkan pendengar acara untuk acara "contextmenu" dan memanggil
preventDefault()
metode:Yang sedang berkata: JANGAN MELAKUKANNYA.
Mengapa? Karena itu mencapai tidak lain dari pengguna yang mengganggu. Juga banyak browser memiliki opsi keamanan untuk melarang penonaktifan menu klik kanan (konteks).
Tidak yakin mengapa Anda ingin. Jika karena keyakinan salah tempat bahwa Anda dapat melindungi kode sumber atau gambar dengan cara itu, pikirkan lagi: Anda tidak bisa.
sumber
oncontextmenu="return false"
sesuatu selain dari tubuh mungkin masuk akal, misalnya pada kanvas.JANGAN
Hanya saja, jangan.
Apa pun yang Anda lakukan, Anda tidak dapat mencegah pengguna memiliki akses penuh ke setiap bit data di situs web Anda. Setiap kode Javascript yang Anda buat dapat diperdebatkan dengan hanya mematikan Javascript di browser (atau menggunakan plugin seperti NoScript). Selain itu, tidak ada cara untuk menonaktifkan kemampuan pengguna mana pun untuk sekadar "melihat sumber" atau "melihat info halaman" (atau menggunakan wget) untuk situs Anda.
Itu tidak sepadan dengan usaha. Ini tidak akan berhasil. Ini akan membuat situs Anda secara aktif memusuhi pengguna. Mereka akan memperhatikan ini dan berhenti mengunjungi. Tidak ada manfaat untuk melakukan ini, hanya usaha yang sia-sia dan lalu lintas yang hilang.
Jangan.
Pembaruan: Sepertinya topik kecil ini telah terbukti cukup kontroversial dari waktu ke waktu. Meski begitu, saya mendukung jawaban ini untuk pertanyaan ini. Terkadang jawaban yang benar adalah saran alih-alih respons literal.
Orang-orang yang tersandung pada pertanyaan ini dengan harapan menemukan cara membuat menu konteks khusus harus mencari di tempat lain, seperti pertanyaan-pertanyaan ini:
sumber
<body oncontextmenu="return false;">
Pertanyaan aslinya adalah tentang cara menghentikan klik kanan mengingat pengguna dapat menonaktifkan JavaScript : yang terdengar jahat dan jahat (karenanya tanggapan negatif) - tetapi semua duplikat mengarahkan ulang di sini, meskipun banyak duplikat meminta tujuan yang kurang jahat.
Seperti menggunakan tombol klik kanan di game HTML5, misalnya. Ini dapat dilakukan dengan kode sebaris di atas, atau sedikit lebih bagus adalah sesuatu seperti ini:
Tetapi jika Anda membuat game, maka ingatlah bahwa tombol klik kanan kebakaran ContextMenu acara - tetapi juga kebakaran biasa mousedown dan mouseup acara juga. Jadi, Anda perlu memeriksa acara mana properti untuk melihat apakah itu tombol kiri (yang === 1), tengah (yang === 2), atau kanan (yang === 3) yang menembakkan acara.
Berikut adalah contoh di jQuery - perhatikan bahwa menekan tombol mouse kanan akan memecat tiga peristiwa: peristiwa mouse, acara konteksmenu, dan peristiwa mouseup.
Jadi jika Anda menggunakan tombol kiri dan kanan dalam gim, Anda harus melakukan beberapa logika kondisional di penangan mouse.
sumber
dom.event.contextmenu.enabled
di Firefox, apakah acaramousedown
danmouseup
masih akan menyala meskipuncontextmenu
tidak?Jika Anda tidak peduli dengan memberi tahu pengguna dengan pesan setiap kali mereka mencoba mengklik kanan, coba tambahkan ini ke tag tubuh Anda
Ini akan memblokir semua akses ke menu konteks (tidak hanya dari tombol mouse kanan tetapi juga dari keyboard).
Namun, seperti yang disebutkan dalam jawaban lain, benar-benar tidak ada gunanya menambahkan disabler klik kanan. Siapa pun yang memiliki pengetahuan peramban dasar dapat melihat sumber dan mengekstrak informasi yang mereka butuhkan.
sumber
Jika Anda seorang penggemar jquery, gunakan ini
sumber
this
di dalam acara siap? Mengapa Anda menggunakanbind
bukanon
? Ugh ...Pertama, Anda tidak dapat mencapai ini tanpa menggunakan kemampuan sisi klien. Di sinilah javascript berjalan.
Kedua, jika Anda mencoba mengontrol apa yang dapat dikonsumsi pengguna akhir dari situs Anda, maka Anda perlu memikirkan kembali cara Anda menampilkan informasi itu. Gambar memiliki url publik yang dapat diambil melalui HTTP tanpa perlu browser.
Otentikasi dapat mengontrol siapa yang memiliki akses ke sumber daya apa.
Watermarking tertanam dalam gambar dapat membuktikan bahwa gambar itu dari orang / perusahaan tertentu.
Pada akhirnya, manajemen sumber daya adalah manajemen pengguna / tamu.
Aturan pertama Internet, jika Anda tidak ingin itu diambil, jangan buat publik!
Aturan kedua dari Internet, jika Anda tidak ingin itu diambil, jangan taruh di Internet!
sumber
Jika tujuan Anda adalah untuk mencegah orang mengunduh gambar Anda, seperti yang dikatakan kebanyakan orang, menonaktifkan klik kanan cukup banyak tidak efektif.
Dengan asumsi Anda mencoba melindungi gambar, metode alternatifnya adalah -
Menggunakan flash player, pengguna tidak dapat mengunduhnya seperti itu, tetapi mereka dapat dengan mudah melakukan tangkapan layar.
Jika Anda ingin lebih akward, jadikan gambar sebagai latar belakang div, berisi gambar transparan, à la -
akan cukup untuk mencegah pencurian kasual gambar Anda (lihat di bawah untuk contoh), tetapi karena dengan semua teknik ini, sepele untuk dikalahkan dengan pemahaman dasar html.
sumber
Anda tidak dapat mencapai apa yang Anda minta tanpa menggunakan Javascript. Teknologi lain apa pun yang dapat Anda pilih untuk digunakan hanya dapat membantu membuat halaman web di sisi server untuk dikirim ke browser.
Tidak ada solusi yang baik, dan tidak ada periode solusi tanpa Javascript.
sumber
Jika tujuan Anda adalah melarang pengguna untuk hanya menyimpan gambar Anda, Anda juga dapat memeriksa apakah target yang diklik adalah gambar, hanya menonaktifkan klik kanan dalam kasus itu. Jadi klik kanan bisa digunakan untuk keperluan lain. Diambil dari kode di atas:
Ini hanya untuk menghilangkan cara termudah menyimpan gambar Anda, tetapi masih bisa dilakukan.
sumber
sumber
dom.event.contextmenu.enabled
Lakukan seperti di bawah ini (Ini juga berfungsi pada firefox):
sumber
Masukkan kode ini ke
<head>
tag halaman Anda.Ini akan menonaktifkan klik kanan pada seluruh halaman web Anda, tetapi hanya ketika JavaScript diaktifkan.
sumber
Saya telah menggunakan kode ini untuk menonaktifkan klik kanan di halaman web mana pun, Ini berfungsi dengan baik. Anda dapat menggunakan kode ini
sumber
Tentu saja, seperti semua komentar lain di sini, ini tidak bekerja.
Saya pernah membangun applet java sederhana untuk klien yang memaksa setiap pengambilan gambar dilakukan melalui tangkapan layar dan Anda mungkin ingin mempertimbangkan teknik serupa. Itu berhasil, dalam batasan, tapi saya masih berpikir itu buang-buang waktu.
sumber
sumber
Coba ini
sumber
Menonaktifkan klik kanan pada halaman web Anda sederhana. Hanya ada beberapa baris kode JavaScript yang akan melakukan pekerjaan ini. Di bawah ini adalah kode JavaScript:
Dalam kode di atas, saya telah memilih tag. Setelah Anda menambahkan hanya tiga baris kode, itu akan menonaktifkan klik kanan pada halaman web Anda.
Sumber: Nonaktifkan klik kanan, salin, potong di halaman web menggunakan jQuery
sumber
sumber
Saya tahu saya terlambat, tetapi saya ingin membuat beberapa asumsi dan penjelasan untuk jawaban yang akan saya berikan.
Bisakah saya menonaktifkan klik kanan
Ya, dengan menggunakan JavaScript, Anda dapat menonaktifkan semua peristiwa yang terjadi dan sebagian besar hanya dapat dilakukan dengan javaScript. Bagaimana, yang Anda butuhkan adalah:
Perangkat keras yang berfungsi
Sebuah situs web atau di suatu tempat di mana Anda dapat belajar tentang kode kunci. Karena kamu akan membutuhkannya.
Sekarang katakanlah Anda ingin memblokir tombol enter di sini adalah kodenya:
Untuk klik kanan gunakan ini:
di tempat
event.keyCode
. Dan Anda akan memblokirnya.Anda benar, browser memungkinkan Anda untuk menggunakan
JavaScript
dan javascript melakukan seluruh pekerjaan untuk Anda. Anda tidak perlu mengatur apa pun, hanya perlu atribut skrip di kepala.Mengapa Anda tidak menonaktifkannya?
Jawaban utama dan cepat untuk itu adalah, pengguna tidak akan menyukainya . Semua orang membutuhkan kebebasan, tidak ada yang saya maksudkan, tidak ada yang mau diblokir atau dinonaktifkan, beberapa menit yang lalu saya berada di sebuah situs, yang telah menghalangi saya untuk mengklik kanan dan saya merasa mengapa? Apakah Anda perlu mengamankan kode sumber Anda? Maka di sini
ctrl+shift+J
saya telah membukaConsole
dan sekarang saya bisa pergi keHTML-code
tab. Silakan dan hentikan aku. Ini tidak akan menambahkan lapisan keamanan apa pun ke aplikasi Anda.Ada banyak menu yang bermanfaat di Klik Kanan, seperti Salin, Tempel, Cari Google untuk 'teks' (Di Chrome) dan banyak lagi. Jadi pengguna ingin mendapatkan kemudahan akses daripada mengingat banyak cara pintas keyboard. Siapa pun masih dapat menyalin konteks, menyimpan gambar atau melakukan apa pun yang diinginkannya.
Browser menggunakan Navigasi Mouse: Beberapa browser seperti Opera menggunakan navigasi mouse, jadi jika Anda menonaktifkannya, pengguna pasti akan membenci Antarmuka Pengguna dan skrip.
Jadi itu dasar, saya akan menulis lebih banyak tentang menyimpan kode sumber hehehe tetapi, biarkan itu menjadi jawaban untuk pertanyaan Anda.
Referensi ke kode kunci:
Kode tombol dan tombol mouse:
http://www.w3schools.com/jsref/event_button.asp
https://developer.mozilla.org/en-US/docs/Web/API/event.button (akan dihargai oleh pengguna juga).
Mengapa tidak menonaktifkan klik kanan:
http://www.sitepoint.com/dont-disable-right-click/
sumber
Javascript:
sumber
Catatan Penting: Tergantung pada browser dan OS untuk memungkinkan pencegahan seperti itu atau tidak!
Haruskah kamu melakukannya? Tidak ada . Karena itu tidak akan mencegah pengguna, tetapi itu hanya akan mengganggu dia.
Bisakah kamu menggunakannya? Ya . Contoh: Di beberapa aplikasi web di mana Anda ingin memiliki menu pop-up yang disesuaikan, dalam game di mana pengguna mungkin terganggu ketika salah mereka mengklik kanan, dan kasus lainnya.
Chrome (v65) di Ubuntu 16.04 = Anda BISA menonaktifkan klik kanan.
Chrome (v65) di Mac OS 10.11 = Anda TIDAK BISA menonaktifkan klik kanan.
Chrome (v65) di Windows 7 = Anda TIDAK BISA menonaktifkan klik kanan.
Firefox (v41) di Mac OS 10.11 = Anda BISA menonaktifkan klik kanan.
Firefox (v43) di Windows 7 = Anda BISA menonaktifkan klik kanan.
sumber
Beberapa hal yang perlu dipertimbangkan:
Plugin Browser seperti "aktifkan klik kanan" di toko chrome ada karena suatu alasan, dan Anda tidak akan bisa mengatasinya. Tidak ada yang secara umum dapat Anda lakukan untuk menghentikan orang mengunduh konten Anda karena mereka harus mengunduhnya untuk melihatnya di browser mereka; Orang mencoba tetapi selalu ada di luar sana.
Secara umum, jika konten tidak boleh publik, jangan taruh online.
Juga, tidak bisa klik kanan adalah masalah aksesibilitas dan merupakan diskriminasi yang melanggar hukum terhadap orang buta atau cacat atau orang tua dalam banyak kasus. Periksa Anda hukum setempat, tetapi di AS aktif melawan hukum dalam bentuk ADA Federal karena orang buta atau orang tua yang mungkin memiliki masalah penglihatan adalah kelas yang dilindungi secara hukum.
Jadi, alih-alih melakukan ini dan membuang banyak waktu dan usaha, jangan repot-repot mencoba melakukan ini. Itu bisa membuat perusahaan Anda digugat atau meminta mereka gagal dalam audit kepatuhan.
sumber
Coba kode ini untuk menonaktifkan opsi memeriksa elemen
sumber
Gunakan fungsi ini untuk menonaktifkan klik kanan. Anda dapat menonaktifkan klik kiri dan mengetuk juga dengan yang
checking 1 and 0
sesuaisumber