jQuery प्लगइन क्लिपबोर्ड से लिंक जोड़ने के लिए

हम में से कई के पास ब्लॉग, ऑनलाइन स्टोर, समाचार साइटें आदि हैं ... बेशक, हम मूल सामग्री को प्रकाशित करने का प्रयास करते हैं, लेकिन इंटरनेट पर सामग्री दिखाई देने के बाद क्या होता है, निश्चित रूप से इसे देखा जाता है और यदि यह दिलचस्प है, तो उपयोगकर्ता कभी-कभी सामग्री वाले पृष्ठ के लिंक का आदान-प्रदान करते हैं। इच्छित पृष्ठ पर नए परिवर्तन भी हमारे लिए बहुत अच्छे हैं, लेकिन क्या होगा यदि हमारा उत्कृष्ट पाठ केवल ICQ \ skype \ mail में लिया गया, कॉपी किया गया और गिराया गया - हमारा पाठ समाप्त हो गया है, लेकिन कोई संक्रमण नहीं है :(

addtocopy plugin

नकल पर रोक लगाने के लिए बहुत ही गलत, मजेदार और मजेदार © है, लेकिन हम अपनी वेबसाइट पर एक लिंक जोड़ सकते हैं जब नकल करते हैं। विचार करें कि हम यह कैसे बेहतर करते हैं:



- CTRL + C, "कॉपी" के लिए एक इवेंट हैंडलर लिखने के लिए, आपको क्लिपबोर्ड के साथ काम करना होगा, और यह आधुनिक ब्राउज़रों के साथ काम नहीं करता है।
- फ्लैश के रूप में बैसाखी का उपयोग करें। बहुत ज्यादा नहीं, +1 की लत, और संस्करण 10 में आपको बफर को कॉपी करने के लिए फ्लैश ड्राइव इंटरफ़ेस पर क्लिक करना होगा।
- और, क्या होगा अगर हम यह देखते हैं कि उपयोगकर्ता कर्सर के साथ क्या चयन करता है और ध्यान से हमारे लिंक को बंद कर देता है, हे हे हे, इस विधि के लिए मैंने यह लेख लिखा था।

यह सब jQuery के लिए एक प्लगइन के रूप में काम करता है।

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

var options = {htmlcopytxt: '<br>More: <a href="' +window.location.href+ '">' +window.location.href+ '</a>' , minlen:25, addcopyfirst: false}
$.extend(options, usercopytxt);
var copy_sp = document .createElement( 'span' );
copy_sp.id = 'ctrlcopy' ;
copy_sp.innerHTML = options.htmlcopytxt;



यदि कॉपी पेस्ट ने पाठ का चयन किया है, तो हमारे लिंक को चयनित पाठ में जोड़ें।

$( this ).mouseup( function (){
if (window.getSelection){ //
selected=window.getSelection();
seltxt=selected.toString();
nslct = selected.getRangeAt(0);
seltxt = nslct.cloneRange();
seltxt.collapse( false );
seltxt.insertNode(copy_sp);
nslct.setEndAfter(copy_sp);
selected.removeAllRanges();
selected.addRange(nslct);
} else if ( document .selection){ //
selected = document .selection;
nslct=selected.createRange();
seltxt=nslct.text;
seltxt=nslct.duplicate();
seltxt.collapse( false );
seltxt.pasteHTML(copy_sp.outerHTML);
nslct.setEndPoint( "EndToEnd" ,seltxt);
nslct.select();
}
});




नए मूसडाउन के साथ, हम एक लिंक के साथ पुराने कॉपीराइट तत्व को साफ करेंगे।

$( this ).mousedown(function(){
$( '#ctrlcopy' ).remove();
});



स्वाभाविक रूप से, लिंक दिखाई नहीं देना चाहिए, हम इसके लिए आवश्यक डिज़ाइन जोड़ते हैं:

< style >
#ctrlcopy {
height:1px;
overflow:hidden;
position:absolute;
width:1px;
margin: 5px 0 0 -1px;
line-height:0;
opacity: 0;
}
</ style >



कैसे उपयोग करें:

- प्लगइन: Addtocopy डाउनलोड करें

<script type= "text/javascript" >
$( function (){
$( "#content" ).addtocopy({htmlcopytxt: '<br>: <a href="' +window.location.href+ '">' +window.location.href+ '</a>' , minlen:35, addcopyfirst: false});
});
</script>



प्लगइन द्वारा नियंत्रित विकल्प:

विकल्पविवरण
htmlcopytxtक्या बफर में कॉपी करने के लिए जोड़ने के लिए HTML स्वीकार करता है
minlenचयनित पाठ की न्यूनतम लंबाई, इंट स्वीकार करता है
addcopyfirsthtmlcopytxt को क्लिपबोर्ड की शुरुआत में या अंत में सही / गलत जोड़ें


उदाहरण: यहाँ

ज्ञात ग्लिच:
ओपेरा में, पाठ बाएं से दाएं की ओर बाहर होता है
फ़ायरफ़ॉक्स में, अगर एडकॉपीफर्स्ट: सच है, तो पहली बार टेक्स्ट हाइलाइट नहीं किया गया है

Source: https://habr.com/ru/post/In101763/


All Articles