2012-01-21 12 views
25

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

मैं भी यकीन नहीं है, कि यह संभव है, वैसे भी शायद किसी को किसी भी विचार

+3

आप लोगों को एक कार्यशील स्मृति के साथ लोगों को खोज इंजन में टाइप करने से रोकने की योजना कैसे बना रहे हैं? –

+0

टाइपिंग के लिए और अधिक समय की आवश्यकता है। टाइपिंग करते समय, अगले प्रश्न से पूछा जाएगा – Anton

+0

स्क्रीन पूर्ण स्क्रीन बनाएं, और यदि यह फोकस से बाहर हो जाता है या फुलस्क्रीन से बाहर निकलता है और उस परीक्षण को हमेशा रद्द कर देता है। –

उत्तर

58
यहाँ

: How to disable text selection highlighting using CSS?

-webkit-user-select: none; 
-khtml-user-select: none; 
-moz-user-select: none; 
-ms-user-select: none; 
-o-user-select: none; 
user-select: none; 

उन्हें जब खिड़की के onBlur घटना निकाल दिया जाता है जवाब देने में सक्षम किया जा रहा से अनुमति न दें। वे अभी भी अन्य उपकरणों का उपयोग कर सकते हैं, लेकिन वे एक ही कंप्यूटर पर धोखा देने में सक्षम नहीं होंगे।

+0

अच्छा, धन्यवाद – Anton

+0

यह कंटेनर div पर डालने के लिए भी अच्छा है जहां आप Google मानचित्र, MapQuest, आदि से मानचित्र प्रदर्शित कर सकते हैं –

+0

बहुत बढ़िया। सदस्यता के पहले सामग्री छिपाने के लिए मैंने इसे [धुंधला प्लगइन] (http://nbartlomiej.github.io/foggy/) के साथ उपयोग किया। – JacobLett

9

यह करने के लिए कोई अच्छा तरीका नहीं है मिला है। एक धोखेबाज सब कुछ सब कुछ के आसपास काम करने में सक्षम हो जाएगा।

दिमाग में आने वाली एकमात्र चीज गतिशील रूप से जेनरेट की गई छवियों के रूप में प्रश्नों को आउटपुट करना है। वह कॉपी-पेस्टिंग के खिलाफ सुरक्षा करेगा। आपको यह तय करना होगा कि वास्तव में कितनी सुरक्षा है, हालांकि - Google में सबसे कम प्रश्न टाइप किए जा सकते हैं, है ना?

0

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

3

क्या आप प्रश्नोत्तरी/प्रश्न वाले तत्व के शीर्ष पर पारदर्शी पीएनजी डाल सकते हैं?

<div id="test" onmousedown='return false;' onselectstart='return false;'> 

यह कुछ भी है कि टैग के भीतर है की नकल नहीं कर पाएगा ...

16

अपने div टैग में अपने प्रश्न के पेस्ट, कोड की निम्न पंक्ति जोड़ने पेज एचटीएमएल/टेक्स्ट की बजाय एक छवि।

किसी छवि से टेक्स्ट कॉपी करना आसान नहीं है। इसे सहेजा जाना होगा और ओसीआरएड होगा।

3

ध्यान दें कि यह प्रश्न उन लोगों द्वारा Google के माध्यम से पाया जा सकता है जो को Greasemonkey स्क्रिप्ट या ब्राउज़र पक्ष की तरह एक नो-कॉपी नियम ओवरराइड करना चाहते हैं।

इसके अलावा अक्षम करने का चयन करने के, मैं कम से कम एक वेबसाइट में निम्नलिखित रणनीति देखा है:

<body oncopy="return false" onpaste="return false" oncut="return false">...</body> 
-1
<head> 
<script type='text/javascript'> 
var isCtrl = false; 
document.onkeyup=function(e) 
{ 
if(e.which == 17) 
isCtrl=false; 
} 
document.onkeydown=function(e) 
{ 
if(e.which == 123) 
isCtrl=true; 
if (((e.which == 85) || (e.which == 65) || (e.which == 88) || (e.which == 67) || (e.which == 86) || (e.which == 2) || (e.which == 3) || (e.which == 123) || (e.which == 83)) && isCtrl == true) 
{ 
alert('This is Function Disabled'); 
return false; 
} 
} 
// right click code 
var isNS = (navigator.appName == "Netscape") ? 1 : 0; 
if(navigator.appName == "Netscape") document.captureEvents(Event.MOUSEDOWN||Event.MOUSEUP); 
function mischandler(){ 
    alert('This is Function Disabled'); 
return false; 
} 
function mousehandler(e){ 
var myevent = (isNS) ? e : event; 
var eventbutton = (isNS) ? myevent.which : myevent.button; 
if((eventbutton==2)||(eventbutton==3)) return false; 
} 
document.oncontextmenu = mischandler; 
document.onmousedown = mousehandler; 
document.onmouseup = mousehandler; 
//select content code disable alok goyal 
function killCopy(e){ 
return false 
} 
function reEnable(){ 
return true 
} 
document.onselectstart=new Function ("return false") 
if (window.sidebar){ 
document.onmousedown=killCopy 
document.onclick=reEnable 
} 
</script> 
</head> 

<body> 
    <h2>Disable code right click and ctrl a, ctrl u, ctrl c, ctrl v key and f12 and select content code</h2> 
    <div> 
    Some text... 
    </div> 
</body> 
0

आप JQuery का उपयोग कर रहे हैं तो का उपयोग करें:

function disableSelection(target){ 
    $(function() { 
     $(this).bind("contextmenu", function(e) { 
      e.preventDefault(); 
     }); 
    }); 
    if (typeof target.onselectstart!="undefined") //For IE 
      target.onselectstart=function(){return false} 
    else if (typeof target.style.MozUserSelect!="undefined") //For Firefox 
      target.style.MozUserSelect="none" 
    else //All other route (For Opera) 
      target.onmousedown=function(){return false} 
    target.style.cursor = "default"; 
} 

कॉल इस फ़ंक्शन जहां आप अक्षम करना चाहते हैं।

$(document).ready(function(){ 
    disableSelection(document.body); 
});