मैं अपने वेब पेज पर राइट क्लिक को कैसे निष्क्रिय कर सकता हूं?


315

क्या मैं जावास्क्रिप्ट का उपयोग किए बिना अपने वेब पेज पर राइट क्लिक को अक्षम कर सकता हूं? मैं यह पूछता हूं क्योंकि अधिकांश ब्राउज़र उपयोगकर्ता को जावास्क्रिप्ट को अक्षम करने की अनुमति देते हैं।

यदि नहीं, तो मैं राइट क्लिक को निष्क्रिय करने के लिए जावास्क्रिप्ट का उपयोग कैसे करूं?


130
राइट क्लिक को अक्षम करना सुरक्षा नहीं है, यह आपके उपयोगकर्ताओं को परेशान कर रहा है। कोई भी ब्राउज़र जो आपको इसे निष्क्रिय करने की अनुमति नहीं देता है वह बेकार है, लेकिन पहली जगह में ऐसा करने वाले साइट भयानक हैं।
डैन ओल्सन

17
यदि आप अपनी सामग्री नहीं चाहते हैं, तो आपको इसे वेब पर पोस्ट नहीं करना चाहिए। :) आधुनिक दिन ब्राउज़र भी राइट क्लिक को निष्क्रिय करने के लिए जावास्क्रिप्ट की क्षमता को ओवरराइड कर सकते हैं। फायरबग / वेब देव टूलबार जैसे उपकरण सुरक्षा को बेकार बनाते हैं।
एपस्केलरेलो

7
यहाँ एक छोटा क्रोम / ग्रीनसमेक उपयोगकर्ता स्क्रिप्ट है जो राइट क्लिक को सक्षम करने के लिए: dl.dropbox.com/u/464119/Programming/javascript/…
ripper234

31
वास्तव में @DanOlson ... यदि आप अपने स्वयं के राइट-क्लिक मेनू को कोड करना चाहते हैं तो आपको क्या करना चाहिए? जैसे कि cPanel में पाया जाता है।
कोडस्मिथ

30
@epascarello ऐसे कुछ मामले हैं जो राइट क्लिक को अक्षम करना आवश्यक है, जैसे किओस्क टर्मिनलों पर, bceause उपयोगकर्ता को वास्तव में वहां इसकी आवश्यकता नहीं है और इसे छोड़ने से वास्तव में उपयोगकर्ता नाराज हो सकते हैं
Aram

जवाबों:


524

आप "रेफ़रमेनू" ईवेंट के लिए इवेंट श्रोता को जोड़कर और preventDefault()विधि को कॉल करके जावास्क्रिप्ट के साथ कर सकते हैं :

document.addEventListener('contextmenu', event => event.preventDefault());

यह कहा जा रहा है: यह मत करो।

क्यों? क्योंकि यह कष्टप्रद उपयोगकर्ताओं के अलावा कुछ नहीं हासिल करता है। कई ब्राउज़रों के पास वैसे भी राइट क्लिक (संदर्भ) मेनू को अक्षम करने के लिए एक सुरक्षा विकल्प है।

निश्चित नहीं है कि आप क्यों करना चाहते हैं। यदि यह कुछ गलत धारणा से बाहर है कि आप अपने स्रोत कोड या इस तरह से छवियों की रक्षा कर सकते हैं, तो फिर से सोचें: आप नहीं कर सकते।


86
oncontextmenu="return false"शरीर की तुलना में कुछ और का उपयोग करना समझ में आता है, उदाहरण के लिए एक कैनवास पर।
AdrienBrault

62
हम कियोस्क मशीनों पर तैनात हैं और पेज को रीफ्रेश करने से उपयोगकर्ताओं को अक्षम करने के लिए इस तरह से चुना है।
टॉड होर्स्ट

21
@ToddHorst उस मामले में मैं किसी भी UI के बिना ब्राउज़र के एक विशेष "कियोस्क" संस्करण का उपयोग करूंगा, जो आमतौर पर किसी भी संदर्भ मेनू के बिना भी उपलब्ध है :)
मिहि

17
टच-सक्षम सिस्टम कभी-कभी कुछ स्पर्श घटनाओं को मैप करते हैं, जैसे कि एक लंबा टैप, राइट-क्लिक (और इस तरह संदर्भ मेनू खोलना)। हालाँकि, यह व्यवहार अवांछनीय हो सकता है और इसे रोकने का एकमात्र सार्थक तरीका संदर्भ मेनू को पूरी तरह से अक्षम करना प्रतीत होता है।
या मैपर

58
पुराना सूत्र बिना किसी हिचकिचाहट के
Danny22

123

ऐसा नहीं

बस, नहीं।

इससे कोई फर्क नहीं पड़ता कि आप क्या करते हैं, आप उपयोगकर्ताओं को अपनी वेबसाइट के हर बिट डेटा तक पूरी पहुंच रखने से नहीं रोक सकते। आपके द्वारा कोड किए गए किसी भी जावास्क्रिप्ट को केवल ब्राउज़र पर जावास्क्रिप्ट को बंद करके (या NoScript जैसे प्लगइन का उपयोग करके) म्यूट किया जा सकता है। इसके अतिरिक्त, किसी भी उपयोगकर्ता की क्षमता को अपनी साइट पर "स्रोत देखने के लिए" या "पृष्ठ जानकारी देखें" (या उपयोग करने के लिए छूट) को अक्षम करने का कोई तरीका नहीं है।

यह प्रयास के लायक नहीं है। यह वास्तव में काम नहीं करेगा। यह आपकी साइट को सक्रिय रूप से उपयोगकर्ताओं के लिए शत्रुतापूर्ण बना देगा। वे इसे नोटिस करेंगे और दौरा करना बंद कर देंगे। ऐसा करने का कोई लाभ नहीं है, केवल व्यर्थ प्रयास और खो यातायात।

मत करो।

अद्यतन: ऐसा लगता है कि यह छोटा विषय समय के साथ काफी विवादास्पद साबित हुआ है। फिर भी, मैं इस प्रश्न का उत्तर देता हूं। कभी-कभी शाब्दिक प्रतिक्रिया के बजाय सही उत्तर सलाह है।

जो लोग कस्टम संदर्भ मेनू बनाने के तरीके का पता लगाने की उम्मीद में इस प्रश्न पर ठोकर खाते हैं, उन्हें कहीं और देखना चाहिए, जैसे कि ये प्रश्न:


229
वाह, मैं विश्वास नहीं कर सकता यह एक स्वीकृत जवाब था। विशिष्ट शर्तों के तहत वेबप में राइट-क्लिक को हटाने के लिए कई वैध उपयोग हैं।
GAgnew

84
असली जवाब होना चाहिए:<body oncontextmenu="return false;">
सेबेस्टियन ग्रिग्नोली

18
@GAgnew: संदर्भ मेनू को बदलने के लिए मान्य उपयोग हैं। बिना किसी अधिकार के और बिना किसी उपयोगी तरीके से हैंडल करने के लिए कोई वैध उपयोगकर्ता नहीं हैं
ThiefMaster

80
यदि उपयोगकर्ता एचटीएमएल 5 वीडियोगेम बनाना चाहता है, तो राइट क्लिक अक्षम करना काफी उपयोगी हो सकता है। आमतौर पर, यह वांछनीय नहीं है, लेकिन उचित संदर्भ के बिना केवल "डोनट" कहना उतना उपयोगी नहीं है।
रॉबसन फ्रांका

51
-1 मुझसे भी। यह उत्तर सहायक नहीं है। राइट क्लिक को अक्षम करने के बहुत सारे अच्छे कारण हैं। उदाहरण के लिए, मैंने एक वेब एप्लिकेशन बनाया जिसका उपयोग अस्पताल फ्रंट डेस्क पर करते हैं, और उपयोगकर्ता तकनीकी रूप से जानकार नहीं हैं। भले ही एप्लिकेशन उनके वेब ब्राउज़र में चल रहा हो, उन्हें समझ में नहीं आता है कि सही क्लिक करने पर सभी मेनू विकल्प क्यों आते हैं। हमें यह पूछने में बहुत मदद मिली कि विकल्प क्या हैं, ऐसे लोगों से जिन्होंने सोचा कि वे आवेदन का हिस्सा हैं। उन्हें अक्षम करने से उस स्थिति में समझ में आता है, और कई अन्य वेब अनुप्रयोगों में होता है।
निकोलस

66

मूल प्रश्न यह था कि राइट-क्लिक को कैसे रोका जाए , ताकि उपयोगकर्ता जावास्क्रिप्ट को निष्क्रिय कर सके : जो ध्वनि-विहीन और अनिष्टकारी है (इसलिए नकारात्मक प्रतिक्रियाएं) - लेकिन सभी यहां डुप्लिकेट को पुनर्निर्देशित करते हैं, भले ही कई डुप्लिकेट कम बुरे उद्देश्यों के लिए पूछ रहे हों।

उदाहरण के लिए, HTML5 गेम में राइट-क्लिक बटन का उपयोग करना। यह ऊपर इनलाइन कोड के साथ किया जा सकता है, या थोड़ा सा अच्छा कुछ इस तरह है:

document.addEventListener("contextmenu", function(e){
    e.preventDefault();
}, false);

लेकिन अगर आप एक खेल बना रहे हैं, तो याद रखें कि राइट क्लिक बटन आग ContextMenu घटना - लेकिन यह भी नियमित रूप से आग mousedown और mouseup भी घटनाओं। इसलिए आपको इवेंट की कौन सी प्रॉपर्टी देखनी है, यह देखने की जरूरत है कि यह लेफ्ट (जो === 1) है, मिडिल (जो === 2), या राईट (जो === 3) माउस बटन है जो ईवेंट को फायर कर रहा है।

यहाँ jQuery में एक उदाहरण है - ध्यान दें कि दायां माउस बटन दबाने से तीन ईवेंट्स को आग लग जाएगी: मूसडाउन ईवेंट, रेफरेंस इवेंट और माउसअप ईवेंट।

// With jQuery
$(document).on({
    "contextmenu": function(e) {
        console.log("ctx menu button:", e.which); 

        // Stop the context menu
        e.preventDefault();
    },
    "mousedown": function(e) { 
        console.log("normal mouse down:", e.which); 
    },
    "mouseup": function(e) { 
        console.log("normal mouse up:", e.which); 
    }
});

इसलिए यदि आप किसी खेल में बाएं और दाएं माउस बटन का उपयोग कर रहे हैं, तो आपको माउस हैंडलर में कुछ सशर्त तर्क करना होगा।


अगर मैंने dom.event.contextmenu.enabledफ़ायरफ़ॉक्स में सक्षम किया है, तो क्या ईवेंट mousedownऔर mouseupइवेंट्स अभी भी आग लगेंगे, भले ही contextmenuऐसा न हो?
16

43

यदि आप उपयोगकर्ता को हर बार सही क्लिक करने का प्रयास करते हुए संदेश के साथ चेतावनी देने के बारे में परवाह नहीं करते हैं, तो इसे अपने शरीर टैग में जोड़ने का प्रयास करें

<body oncontextmenu="return false;">

यह सभी संदर्भ मेनू तक पहुंच को रोक देगा (न केवल सही माउस बटन से, बल्कि कीबोर्ड से भी)।

हालाँकि, जैसा कि अन्य उत्तरों में बताया गया है, वास्तव में राइट क्लिक डिस्ब्लर जोड़ने का कोई मतलब नहीं है। बुनियादी ब्राउज़र ज्ञान वाला कोई भी स्रोत देख सकता है और उन्हें आवश्यक जानकारी निकाल सकता है।


हां, लेकिन ऐसे समय होते हैं जब मैं किसी ऐसे व्यक्ति के साथ एक छवि साझा करना चाहता हूं जिसे मैं जानता हूं कि बुनियादी ब्राउज़र ज्ञान की कमी है। राइट क्लिक को अक्षम करना 100% मूर्खतापूर्ण नहीं है, लेकिन अगर मैं उस व्यक्ति को देखने के लिए कुछ ही मिनटों के लिए छवि पोस्ट कर रहा हूं, तो यह बहुत सुरक्षित है।
विल

टच-सक्षम सिस्टम कभी-कभी कुछ स्पर्श घटनाओं को मैप करते हैं, जैसे कि एक लंबा टैप, राइट-क्लिक (और इस तरह संदर्भ मेनू खोलना)। हालाँकि, यह व्यवहार अवांछनीय हो सकता है और इसे रोकने का एकमात्र सार्थक तरीका संदर्भ मेनू को पूरी तरह से अक्षम करना प्रतीत होता है।
या मैपर

@WillO: मेरे पास एक समान उपयोग-मामला है जिसे मुझे पूरा करने की आवश्यकता है, लेकिन FYI करें, उपयोगकर्ता हमेशा स्क्रीनशॉट का सहारा लेंगे ।
हसन बेग

28

यदि आप एक jquery प्रशंसक हैं, तो इसका उपयोग करें

    $(function() {
        $(this).bind("contextmenu", function(e) {
            e.preventDefault();
        });
    }); 

4
यह बिना किसी कारण के jQuery का उपयोग कर रहा है। यह बिलकुल वैसा ही है जैसा कि मिस्टर स्पीकर के जवाब में पाया गया एकल जावास्क्रिप्ट स्टेटमेंट, जो इससे 1 before साल पहले पोस्ट किया गया था। वैसे, उस उत्तर में एक jQuery समाधान भी शामिल है, जिसकी आपको फिर से आवश्यकता नहीं है। क्या जिसने भी इस उत्तर को उखाड़ा है वह जानता है कि यह क्या करता है? यह संदर्भ मेनू को प्रदर्शित होने से रोकने के लिए दस्तावेज़ तैयार घटना के लिए प्रतीक्षा क्यों करता है? यह thisरेडी इवेंट के अंदर क्यों इस्तेमाल होता है ? bindइसके बजाय आप का उपयोग क्यों करते हैं on?
ऊग

20

सबसे पहले, आप एक ग्राहक पक्ष क्षमता का उपयोग किए बिना इसे प्राप्त नहीं कर सकते। यहीं से जावास्क्रिप्ट चलती है।

दूसरे, यदि आप यह नियंत्रित करने की कोशिश कर रहे हैं कि एक अंतिम उपयोगकर्ता आपकी साइट से क्या उपभोग कर सकता है, तो आपको उस जानकारी को प्रदर्शित करने के तरीके पर पुनर्विचार करने की आवश्यकता है। एक छवि में एक सार्वजनिक url होता है जिसे बिना ब्राउज़र की आवश्यकता के HTTP के माध्यम से प्राप्त किया जा सकता है।

प्रमाणीकरण नियंत्रित कर सकता है कि किन संसाधनों तक पहुंच है।

छवियों में एंबेडेड वॉटरमार्किंग यह साबित कर सकती है कि छवि किसी विशिष्ट व्यक्ति / कंपनी की थी।

दिन के अंत में, संसाधन प्रबंधन वास्तव में उपयोगकर्ता / अतिथि प्रबंधन है।

इंटरनेट का पहला नियम, यदि आप इसे नहीं लेना चाहते हैं, तो इसे सार्वजनिक न करें!

इंटरनेट का दूसरा नियम, यदि आप इसे नहीं लेना चाहते हैं, तो इसे इंटरनेट पर न डालें!


20

यदि आपका उद्देश्य आपकी छवियों को डाउनलोड करने में सक्षम लोगों को रोकना है, जैसा कि अधिकांश लोगों ने कहा है, राइट क्लिक को अक्षम करना बहुत अधिक अप्रभावी है।

मान लें कि आप छवियों को सुरक्षित रखने के लिए वैकल्पिक तरीकों की कोशिश कर रहे हैं -

एक फ़्लैश प्लेयर का उपयोग करके, उपयोगकर्ता उन्हें इस तरह डाउनलोड नहीं कर सकते हैं, लेकिन वे आसानी से स्क्रीन कैप्चर कर सकते हैं।

यदि आप अधिक पिछड़े होना चाहते हैं, तो छवि को एक div की पृष्ठभूमि बनाएं, जिसमें एक पारदर्शी छवि है, la la -

<div style="background-image: url(YourImage.jpg);">
   <img src="transparent.gif"/>
</div>

आपकी छवियों की आकस्मिक चोरी को रोकने के लिए पर्याप्त होगा (एक नमूने के लिए नीचे देखें), लेकिन इन सभी तकनीकों के साथ, html की बुनियादी समझ के साथ हारने के लिए तुच्छ है।


2
आप कोड को आगे बढ़ाने के लिए आधार के रूप में छवि को लोड भी कर सकते हैं।
मिगुएल बार्टेलसमैन

16

आप जावास्क्रिप्ट का उपयोग किए बिना जो आप पूछ रहे हैं उसे पूरा नहीं कर सकते। आपके द्वारा उपयोग की जाने वाली कोई अन्य तकनीक केवल ब्राउज़र पर भेजे जाने के लिए सर्वर साइड पर वेब पेज की रचना करने में मदद कर सकती है।

बस कोई अच्छा समाधान नहीं है, और जावास्क्रिप्ट के बिना कोई समाधान अवधि नहीं है।


1
और फिर भी उपयोगकर्ताओं के लिए इसका कष्टप्रद, आसान बाईपास का उल्लेख नहीं करना है।
मानोस दिलवाराकिस

1
मैंने केवल कभी ऐसे पृष्ठ देखे हैं जिनमें एक मोडल पॉपअप है, जिसमें कहा गया है कि 'राइट क्लिक अक्षम है', जो तब राइट-क्लिक मेनू दिखाता है जब आप इसे खारिज करते हैं। जब आप ट्रैकपैड का उपयोग करके स्क्रॉल करते हैं, तो भी वे संदेश प्रदर्शित करते हैं, जो बहुत कष्टप्रद है।
पीट किरकम

1
हाँ, यह विशेष रूप से कष्टप्रद है क्योंकि आमतौर पर यह उन लोगों को "चोरी" छवियों से रोकने के लिए है जो पहले से ही उनके हार्डड्राइव पर हैं, लेकिन यह सब मुझे कॉन्सेप्ट खोज का उपयोग करने से रोकता है: addons.mozilla.org/en-US/firefox/2don/240 । वो कमीने ...
केल्विन

2
मुझे पसंद है कि इसका लगभग हर उत्तर "निश्चित रूप से, जावास्क्रिप्ट का उपयोग करें!"
चार्ल्स वुड

14

यदि आपका लक्ष्य उपयोगकर्ताओं को केवल आपकी छवियों को सहेजने के लिए अस्वीकृत करना है, तो आप यह भी जांच सकते हैं कि क्या क्लिक किया गया लक्ष्य एक छवि है, केवल उस स्थिति में राइट क्लिक को अक्षम करें। इसलिए राइट क्लिक का उपयोग अन्य उद्देश्यों के लिए किया जा सकता है। उपरोक्त कोड से लिया गया:

document.addEventListener("contextmenu", function(e){
    if (e.target.nodeName === "IMG") {
        e.preventDefault();
    }
}, false);

यह आपकी छवियों को सहेजने का सबसे आसान तरीका है, लेकिन यह अभी भी किया जा सकता है।


यह मेरी राय में जाने का सबसे अच्छा तरीका है - एक वेब उपयोगकर्ता के रूप में, मुझे समय-समय पर उपयोगी क्लिक कार्यक्षमता मिलती है, लेकिन एक आसान, सरल (और हाँ, आसानी से हरा सकने योग्य) समाधान के रूप में यह कष्टप्रद होने के बिना काम करता है।
बेन

9
<!DOCTYPE html>
<html>
<head>
<script type='text/javascript' src='http://code.jquery.com/jquery-1.4.4.min.js'></script>
<script type='text/javascript'>//<![CDATA[ 
$(function(){
$('img').bind('contextmenu', function(e){
return false;
}); 
});//]]>  
</script>
</head>
<body>
    <img src="http://www.winergyinc.com/wp-content/uploads/2010/12/ajax.jpg"/>
</body>



2
@ aravind3 मैंने आपके उदाहरण का उपयोग किया है और यह एक उपचार का काम करता है! मेरी छवियां अभी भी क्लिक करने योग्य हैं और जिस तरह से उन्हें माना जाता है वह कार्य करता है, लेकिन डाउनलोड करने में असमर्थ हैं। मेरे द्वारा राइट-क्लिकिंग को अक्षम करने का कारण यह है कि विज़िटर केवल एक छवि चाहते हैं और फिर सीधे छोड़ देते हैं और मेरी उछाल दर को प्रभावित कर रहे हैं। कम से कम इस तरह, मेरी उछाल दर काफी खराब नहीं होगी, क्योंकि यह उन्हें पता लगाने के लिए 1 या 2 मिनट लग सकता है :) चीयर्स अरविंद 3 !!!!
कूलिडूड

6

इसे नीचे की तरह करें (यह फ़ायरफ़ॉक्स पर भी काम करता है):

$(document).on("contextmenu",function(e){

     if( e.button == 2 ) {
         e.preventDefault();
          callYourownFucntionOrCodeHere();
     }
return true;
});

5

इस कोड को <head>अपने पेज के टैग में डालें।

<script type="text/javascript"> 
function disableselect(e){  
return false  
}  

function reEnable(){  
return true  
}  

//if IE4+  
document.onselectstart=new Function ("return false")  
document.oncontextmenu=new Function ("return false")  
//if NS6  
if (window.sidebar){  
document.onmousedown=disableselect  
document.onclick=reEnable  
}
</script>

यह आपके पूरे वेब पेज पर राइट क्लिक को निष्क्रिय कर देगा, लेकिन केवल तभी जब जावास्क्रिप्ट सक्षम हो।


यह फ़ायरफ़ॉक्स पर काम नहीं करता है यह टाइपिंग के लिए इनपुट चयन को अक्षम करता है :(
ALWAN

5

मैंने किसी भी वेब पेज में राइट क्लिक को अक्षम करने के लिए इस कोड का उपयोग किया था, इसका काम ठीक है। आप इस कोड का उपयोग कर सकते हैं

jQuery(document).ready(function(){
  jQuery(function() {
        jQuery(this).bind("contextmenu", function(event) {
            event.preventDefault();
            alert('Right click disable in this site!!')
        });
    });
});
<html>
  <head>
    <title>Right click disable in web page</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  </head>
  <body>
    You write your own code
  </body>
</html>


4

बेशक, अन्य सभी टिप्पणियों के अनुसार, यह बस काम नहीं करता है।

मैंने एक बार एक क्लाइंट के लिए एक साधारण जावा एप्लेट का निर्माण किया था, जो स्क्रीन कैप्चर के माध्यम से किसी भी छवि को कैप्चर करने के लिए मजबूर करता है और आप एक समान तकनीक पर विचार करना पसंद कर सकते हैं। यह काम किया, सीमाओं के भीतर, लेकिन मुझे अभी भी लगता है कि यह समय की बर्बादी थी।


4
    <script>
        window.oncontextmenu = function () {
            console.log("Right Click Disabled");
            return false;
        }
    </script>

3

इसे इस्तेमाल करे

<script language=JavaScript>
//Disable right mouse click Script

var message="Function Disabled!";

function clickIE4(){
if (event.button==2){
alert(message);
return false;
 }
}

function clickNS4(e){
if (document.layers||document.getElementById&&!document.all){
if (e.which==2||e.which==3){
alert(message);
return false;
}
}
}

if (document.layers){
document.captureEvents(Event.MOUSEDOWN);
document.onmousedown=clickNS4;
}
else if (document.all&&!document.getElementById){
document.onmousedown=clickIE4;
}

document.oncontextmenu=new Function("alert(message);return false")

</script>

3

अपने वेब पेज पर राइट क्लिक को अक्षम करना सरल है। जावास्क्रिप्ट कोड की कुछ पंक्तियाँ हैं जो यह काम करेगी। नीचे जावास्क्रिप्ट कोड है:

$("html").on("contextmenu",function(e){
   return false;
});

उपरोक्त कोड में, मैंने टैग का चयन किया है। आपके द्वारा कोड की तीन पंक्तियों को जोड़ने के बाद, यह आपके वेब पेज पर राइट क्लिक को निष्क्रिय कर देगा।

स्रोत: jQuery का उपयोग करके वेब पेज पर राइट क्लिक, कॉपी, कट को अक्षम करें



2

मुझे पता है कि मुझे देर हो गई है, लेकिन मैं जो उत्तर प्रदान करने जा रहा हूं, उसके लिए कुछ धारणाएं और स्पष्टीकरण बनाना चाहता हूं।

क्या मैं राइट-क्लिक को अक्षम कर सकता हूं

क्या मैं जावास्क्रिप्ट का उपयोग किए बिना अपने वेब पेज पर राइट क्लिक को अक्षम कर सकता हूं?

हां, जावास्क्रिप्ट का उपयोग करके आप होने वाली किसी भी घटना को अक्षम कर सकते हैं और आप ऐसा केवल javaScript द्वारा ही कर सकते हैं। कैसे, आप सभी की जरूरत है:

  1. एक कार्यशील हार्डवेयर

  2. एक वेबसाइट या कहीं से आप कीकोड के बारे में जान सकते हैं। क्योंकि तुम उन्हें जरूरत हो।

अब आपको यह बताने की अनुमति देता है कि कोड दर्ज करें

function prevententer () {
 if(event.keyCode == 13) {
  return false;
 }
}

राइट क्लिक के लिए इसका उपयोग करें:

event.button == 2

के स्थान पर event.keyCode। और आप इसे ब्लॉक कर देंगे।

मैं यह पूछना चाहता हूं क्योंकि अधिकांश ब्राउज़र उपयोगकर्ताओं को जावास्क्रिप्ट द्वारा इसे अक्षम करने की अनुमति देते हैं।

आप सही हैं, ब्राउज़र आपको उपयोग करने की अनुमति देता है JavaScriptऔर जावास्क्रिप्ट आपके लिए पूरी नौकरी करता है। आपको कुछ भी सेटअप करने की आवश्यकता नहीं है, बस सिर में स्क्रिप्ट विशेषता की आवश्यकता है।

आपको इसे अक्षम क्यों नहीं करना चाहिए?

इसका मुख्य और तेज़ उत्तर होगा, उपयोगकर्ता इसे पसंद नहीं करेंगे । सभी को स्वतंत्रता की आवश्यकता है, कोई भी नहीं जिसका मतलब है कि कोई भी अवरुद्ध या अक्षम नहीं होना चाहता है, कुछ मिनट पहले मैं एक साइट पर था, जिसने मुझे राइट क्लिक करने से रोक दिया था और मुझे लगा कि क्यों? क्या आपको अपने स्रोत कोड को सुरक्षित करने की आवश्यकता है? फिर यहां ctrl+shift+Jमैंने खोला है Consoleऔर अब मैं जा सकता हूंHTML-code टैब पर । आगे बढ़ो और मुझे रोको। यह आपके ऐप में किसी भी सुरक्षा परत को नहीं जोड़ेगा।

राइट क्लिक में यूजफुल मेन्यू हैं, जैसे कॉपी, पेस्ट, सर्च गूगल फॉर 'टेक्स्ट' (क्रोम में) और भी कई। इसलिए उपयोगकर्ता कीबोर्ड शॉर्टकटों को याद रखने के बजाय पहुंच को आसान बनाना चाहते हैं। कोई भी अभी भी संदर्भ की प्रतिलिपि बना सकता है, छवि को बचा सकता है या वह जो चाहे कर सकता है।

ब्राउज़र माउस नेविगेशन का उपयोग करते हैं: कुछ ब्राउज़र जैसे ओपेरा माउस नेविगेशन का उपयोग करते हैं, इसलिए यदि आप इसे अक्षम करते हैं, तो उपयोगकर्ता निश्चित रूप से आपके उपयोगकर्ता इंटरफ़ेस और स्क्रिप्ट से नफरत करेगा।

तो यह मूल था, मैं स्रोत कोड हेहेहे को बचाने के बारे में कुछ और लिखने जा रहा था लेकिन, यह आपके प्रश्न का उत्तर होगा।

कीकोड का संदर्भ:

कुंजी और माउस बटन कोड:

http://www.w3schools.com/jsref/event_button.asp

https://developer.mozilla.org/en-US/docs/Web/API/event.button (उपयोगकर्ताओं द्वारा भी सराहना की जाएगी)।

राइट क्लिक को अक्षम क्यों नहीं करें:

http://www.sitepoint.com/dont-disable-right-click/


1

जावास्क्रिप्ट:

document.getElementsByTagName("html")[0].setAttribute("oncontextmenu", "return false"); 

0

महत्वपूर्ण नोट: यह इस तरह की रोकथाम की अनुमति देने के लिए ब्राउज़र और ओएस पर निर्भर करता है !

क्या आपको करना चाहिए ? नहीं । क्योंकि यह उपयोगकर्ता को नहीं रोकेगा, लेकिन यह सिर्फ उसे / उसे गुस्सा दिलाएगा।

क्या आप इसका उपयोग कर सकते हैं? जी हां । उदाहरण: कुछ वेब-ऐप्स में जहां आप पॉप-अप मेनू को अनुकूलित करना चाहते हैं, इन-गेम, जहां उपयोगकर्ता गलत तरीके से नाराज हो सकते हैं जब वे गलती से राइट-क्लिक करते हैं, और अन्य मामले।

Ubuntu 16.04 में Chrome (v65) = आप राइट-क्लिक को अक्षम कर सकते हैं।

Mac OS 10.11 में Chrome (v65) = आप राइट-क्लिक को अक्षम नहीं कर सकते।

विंडोज 7 में क्रोम (v65) = आप नहीं कर सकते राइट-क्लिक को अक्षम कर सकते।

मैक 10.11 में फ़ायरफ़ॉक्स (v41) = आप राइट-क्लिक को अक्षम कर सकते हैं।

विंडोज 7 में फ़ायरफ़ॉक्स (v43) = आप राइट-क्लिक को अक्षम कर सकते हैं।

// Vanilla JS way
document.addEventListener('contextmenu', function(e){
    e.preventDefault();
});

// jQuery way
$(document).bind('contextmenu', function(e) {
    e.preventDefault();
});

0

विचार करने के लिए कुछ बातें:

क्रोम स्टोर में "राइट राइट क्लिक" जैसे ब्राउज़र प्लगइन्स एक कारण से मौजूद हैं, और आप उनके आसपास जाने में सक्षम नहीं होंगे। वहाँ कुछ भी नहीं है आप लोगों को अपनी सामग्री को डाउनलोड करने से रोकने के लिए कर सकते हैं क्योंकि उन्हें शाब्दिक रूप से इसे अपने ब्राउज़र में वैसे भी देखने के लिए इसे डाउनलोड करना होगा; लोग कोशिश करते हैं लेकिन इसका हमेशा ही असर होता है।

सामान्य तौर पर, यदि सामग्री सार्वजनिक नहीं होनी चाहिए, तो उसे ऑनलाइन न डालें।

इसके अलावा, राइट क्लिक करने में सक्षम नहीं होना एक सुलभता मुद्दा है और कई मामलों में अंधे या विकलांग या बुजुर्गों के खिलाफ गैरकानूनी भेदभाव करने की मात्रा है। आप स्थानीय कानूनों की जाँच करें, लेकिन संयुक्त राज्य अमेरिका में इस कानून के खिलाफ सक्रिय रूप से फेडरल एडीए के रूप में अंधे या बुजुर्गों के पास जो दृष्टि मुद्दे हो सकते हैं कानूनी रूप से संरक्षित वर्ग हैं।

इसलिए ऐसा करने और बहुत समय और प्रयास बर्बाद करने के बजाय, ऐसा करने की कोशिश भी न करें। यह आपकी कंपनी पर मुकदमा दायर कर सकता है या उन्हें अनुपालन ऑडिट विफल कर सकता है।


0

निरीक्षण तत्व विकल्प को अक्षम करने के लिए इस कोड को आज़माएं

    jQuery(document).ready(function() {
    function disableSelection(e) {
        if (typeof e.onselectstart != "undefined") e.onselectstart = function() {
            return false
        };
        else if (typeof e.style.MozUserSelect != "undefined") e.style.MozUserSelect = "none";
        else e.onmousedown = function() {
            return false
        };
        e.style.cursor = "default"
    }
    window.onload = function() {
        disableSelection(document.body)
    };

    window.addEventListener("keydown", function(e) {
        if (e.ctrlKey && (e.which == 65 || e.which == 66 || e.which == 67 || e.which == 70 || e.which == 73 || e.which == 80 || e.which == 83 || e.which == 85 || e.which == 86)) {
            e.preventDefault()
        }
    });
    document.keypress = function(e) {
        if (e.ctrlKey && (e.which == 65 || e.which == 66 || e.which == 70 || e.which == 67 || e.which == 73 || e.which == 80 || e.which == 83 || e.which == 85 || e.which == 86)) {}
        return false
    };

    document.onkeydown = function(e) {
        e = e || window.event;
        if (e.keyCode == 123 || e.keyCode == 18) {
            return false
        }
    };

    document.oncontextmenu = function(e) {
        var t = e || window.event;
        var n = t.target || t.srcElement;
        if (n.nodeName != "A") return false
    };
    document.ondragstart = function() {
        return false
    };
});

1
इस कोड स्निपेट के लिए धन्यवाद, जो कुछ सीमित अल्पकालिक सहायता प्रदान कर सकता है। एक उचित व्याख्या यह दर्शाती है कि यह समस्या का एक अच्छा समाधान क्यों है, यह दिखा कर इसके दीर्घकालिक मूल्य में बहुत सुधार होगा , और यह भविष्य के पाठकों को अन्य, समान प्रश्नों के साथ और अधिक उपयोगी बना देगा। कृपया कुछ स्पष्टीकरण जोड़ने के लिए अपने उत्तर को संपादित करें, जिसमें आपके द्वारा की गई धारणाएँ शामिल हैं।
टोबी स्पाइट

Chrome में ओवरराइड करना बेहद आसान हो सकता है : अपने प्रोफ़ाइल चित्र के आगे 3 बिंदुओं पर क्लिक करें> अधिक उपकरण> डेवलपर टूल
sportzpikachu

-1

इस फ़ंक्शन का उपयोग राइट क्लिक को अक्षम करने के लिए करें। आप बाएं क्लिक को अक्षम कर सकते हैं और checking 1 and 0संबंधित द्वारा भी टैप कर सकते हैं

document.onmousedown = rightclickD;
            function rightclickD(e) 
            { 
                e = e||event;
                console.log(e);
                if (e.button == 2) {
                //alert('Right click disabled!!!'); 
                 return false; }
            }

जावास्क्रिप्ट का उपयोग करने के लिए जो HTML पहले से ही करता है वह खराब इंजीनियरिंग और बेकार है
ईमानदार
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.