2013-03-13 4 views
8

मैं सीटीएलआर + सी और सीटीएलआर + वी, प्रेनस्क्रीन, एएलटी + टैब, सीटीएलआर + एस, और प्रिंटस्क्रीन कुंजी को अक्षम करने के लिए यह जावास्क्रिप्ट कोड बना रहा हूं। ।इंटरनेट एक्सप्लोरर और फ़ायरफ़ॉक्स ब्राउज़र दोनों के लिए जावास्क्रिप्ट का उपयोग करके Ctrl C/V को अक्षम करने के लिए कैसे करें

<html> 
<head> 
<script language="javascript"> 

function Disable_Control_C() { 
var keystroke = String.fromCharCode(event.keyCode).toLowerCase(); 

if (event.ctrlKey && (keystroke == 'c' || keystroke == 'v')) { 
alert("let's see"); 
event.returnValue = false; // disable Ctrl+C 
} 
} 

</script> 
</head> 
<body onkeydown="javascript:Disable_Control_C()"> 
Hello World! 
</body> 
</html> 

दुर्भाग्य से, कोड IE ब्राउज़र पर काम कर रहा है, लेकिन फ़ायरफ़ॉक्स पर काम नहीं कर। क्या कोई यहां सलाह दे सकता है?

+3

आपका लक्ष्य उपयोगकर्ताओं को "चोरी" अपनी सामग्री से रोकने के लिए है, जो वास्तव में असंभव है (बस फ़िडलर उपयोग करें, और आप सब कुछ वैसे भी कब्जा कर लिया गया है)। एक उपयोगकर्ता के रूप में, मुझे यह सब कीबोर्ड नियंत्रण काफी हद तक परेशान होगा। – mellamokb

+0

शायद आप बता सकते हैं कि आप किस सामान्य उद्देश्य को प्राप्त करने का प्रयास कर रहे हैं। क्या आप पॉपअप मेनू में संबंधित आइटम को अक्षम करने की योजना बना रहे हैं? – Igor

+0

यह कोड वेब एप्लिकेशन परीक्षण करने के लिए जोड़ा जाएगा जिसमें सीबीटी टेस्ट के रूप में एक नई कार्यक्षमता होगी। अन्य बिंदुओं को अधिकतम करने और कम करने और ऐसी चीजों को एक अलग तरीके से संभाला जाएगा। मेरा मुख्य लक्ष्य यहां मेरे प्रश्न में वर्णित कुंजीपटल कुंजियों को अक्षम करना है। –

उत्तर

14
  • मैं जब ब्राउज़रों मेरे लिए ऐसा करते हैं पसंद नहीं है, और
  • यह आस-पास काम करने के लिए आसान है, और
  • यह किसी भी परिभाषा से "सुरक्षित" के रूप में गिनती नहीं है, लेकिन

element.on(?:copy का उपयोग करें। cut | paste)

<body oncopy="return false" oncut="return false" onpaste="return false"> 
11

आप इसे इस के लिए jQuery का उपयोग कर सकते हैं। आपको बस अपने तत्व के साथ cut, copy और paste फ़ंक्शन को बांधने की आवश्यकता है।

और यह jQuery के स्क्रिप्ट जोड़ने:

$(document).ready(function() { 
    $('#Selector').bind('copy paste', function(e) { 
     e.preventDefault(); 
    }); 
}); 
+0

मुझे केवल जावास्क्रिप्ट का उपयोग करने की आवश्यकता है, न कि jQuery। –

+1

हा हा, आपको शायद ही कभी जावास्क्रिप्ट प्रश्न मिलेगा जहां कोई भी jQuery समाधान नहीं देता है! – SexyBeast

+1

वास्तव में उत्तर देने के लिए धन्यवाद। इस बारे में कुछ नोट्स कि ऐसा क्यों नहीं करना चाहिए, ठीक है, लेकिन _ कभी-कभी ऐसा करने के लिए यह उपयोगी होता है (उदाहरण के लिए यदि यह केवल आकस्मिक उपयोगकर्ताओं के लिए है, तो कॉपी/पेस्टिंग को रोकना _critical_, आदि नहीं है)। तो धन्यवाद। – bergie3000

संबंधित मुद्दे