मुझे पता है कि प्रश्न बहुत पहले पोस्ट किया गया था, लेकिन मुझे यह जांचने की आवश्यकता है कि Google ऐसा करता है, तो शायद किसी को यह उपयोगी लगेगा।
वास्तव में Google सिस्टम क्लिपबोर्ड का भी उपयोग करता है लेकिन यह थोड़ा मुश्किल है। यदि आप कीबोर्ड शॉर्टकट का उपयोग करते हैं तो आप कॉपी/पेस्ट/कट इवेंट को पकड़ सकते हैं उदा। खिड़की:
window.addEventListener('copy', function (ev) {
console.log('copy event');
// you can set clipboard data here, e.g.
ev.clipboardData.setData('text/plain', 'some text pushed to clipboard');
// you need to prevent default behaviour here, otherwise browser will overwrite your content with currently selected
ev.preventDefault();
});
कीबोर्ड शॉर्टकट के लिए लाइव उदाहरण: http://jsfiddle.net/tyk9U/
दुर्भाग्य से इस कीबोर्ड शॉर्टकट के लिए एकमात्र समाधान है और वहाँ संदर्भ मेनू के साथ एक समस्या है, क्योंकि आप देशी बिना क्लिपबोर्ड डेटा का उपयोग नहीं कर सकते हैं (भरोसा) प्रतिलिपि/कट/पेस्ट घटना। लेकिन गूगल दिलचस्प चाल करता है। एपीआई document.execCommand()
है जो आपको संतुष्ट तत्व के लिए कमांड चलाने की अनुमति देता है और 'copy' कमांड होता है जिसे आप इसे document.execCommand('copy')
के माध्यम से ट्रिगर कर सकते हैं। लेकिन जब आप इसे क्रोम में कंसोल में आज़माते हैं तो यह false
लौटाएगा। मैंने जांच करने में थोडा समय बिताया और यह पता चला कि उनके पास क्रोम एक्सटेंशन इंस्टॉल है, जिसे "Google ड्राइव" कहा जाता है (क्रोम: // ऐप्स पर जाएं/और आप इसे वहां देख सकते हैं) जो डोमेन ड्राइव्स के लिए क्लिपबोर्ड एक्सेस को सक्षम बनाता है। कॉम और docs.google.com। कुछ दस्तावेज़ या स्प्रेडशीट खोलें और कंसोल document.execCommand('copy')
में टाइप करें - यह true
लौटाएगा। जब आप एक्सटेंशन को अनइंस्टॉल करते हैं तो आप संदर्भ मेनू से क्लिपबोर्ड संचालन का उपयोग नहीं कर पाएंगे।
आप (यहाँ https://developer.chrome.com/apps/first_app विवरण) बहुत ही सरल मैनिफ़ेस्ट फ़ाइल के साथ खुद के लिए इस तरह के आवेदन बना सकते हैं:
{
"manifest_version": 2,
"name": "App name",
"description": "App description",
"version": "1.0",
"app": {
"urls": [
"http://your.app.url.here/"
],
"launch": {
"web_url": "http://your.app.url.here/"
}
},
"icons": {
"128": "x-128.png"
},
"permissions": [
"clipboardRead",
"clipboardWrite"
]
}
"अनुमति" क्षेत्र यहाँ क्लिपबोर्ड संचालन सक्षम बनाता है।
अब जब आप सक्षम हैं तो आप document.execCommand('copy')
कर सकते हैं और यह काम करेगा (true
वापस करेगा)। लेकिन यह सबकुछ नहीं है - document.execCommand('copy')
क्रोम ट्रिगर्स कॉपी इवेंट में और आप इसे उसी कोड से पकड़ सकते हैं जिसका उपयोग कीबोर्ड क्लिपबोर्ड शॉर्टकट को पकड़ने के लिए किया जाता है। यह अब Google करता है।
बेशक यह विवरण केवल क्रोम के लिए मान्य है।
आप किस ब्राउज़र का उपयोग कर रहे हैं? क्रोम के साथ, मेनू से कॉपी/पेस्ट का उपयोग करते समय मुझे कम से कम यह त्रुटि मिल रही है: http://imgur.com/8L5CR जो बदले में इंगित करेगा कि उन्होंने * समस्या का सामना नहीं किया है। – Niklas
आप सही हैं, अब मुझे लगता है कि वे सिस्टम क्लिपबोर्ड (नियमित कुंजी घटनाओं को छोड़कर) का उपयोग नहीं करते हैं, लेकिन आपके खाते में एक वेब क्लिपबोर्ड बनाया है। –