2011-04-06 15 views
7

क्या jQuery में पेस्ट ट्रिगर करने का कोई तरीका है?jQuery: पेस्ट ट्रिगर?

या शायद एक व्यापक प्रश्न: क्या जावास्क्रिप्ट के साथ पेस्ट ट्रिगर करने के लिए कोई क्रॉस-ब्राउज़र तरीका है?

+3

क्या आप चाहते हैं कि कोई भी साइट आपके क्लिपबोर्ड से कोई भी डेटा एकत्र करे? – fazo

+1

@fazo - "आप चाहते हैं" इस प्रकार के प्रश्न के लिए उचित प्रतिक्रिया नहीं है। एचटीएमएल, जेएस और डोम के साथ एक ही समय में सभी प्रकार के भयानक व्यवहार तकनीकी रूप से संभव हो गए हैं (और जल्दी से पैच नहीं किए गए)। प्रमुख ब्राउज़रों ने हाल ही में इसे अवरुद्ध कर दिया है, उदाहरण के लिए: http://stackoverflow.com/questions/2394890/css-javascript-hacking-detect-visited-styling-on-a-link-without-checking-it-d। बेशक इस मामले में जवाब "नहीं, यह तकनीकी रूप से संभव नहीं है", लेकिन यह सवाल से अलग है कि यह एक अच्छा अभ्यास है या नहीं। –

+0

@ बेन आप सही हैं, लेकिन मेरा मुद्दा यह था कि 'क्या आप अपने ब्राउज़र को वेबसर्वर द्वारा इकट्ठा करने के लिए संभावित संवेदनशील डेटा प्रदान करने की अपेक्षा करते हैं'। और दुर्भाग्यवश लोगों को यानी फ्लैश – fazo

उत्तर

8

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

http://code.google.com/p/zeroclipboard/

आप एक पार ब्राउज़र जावास्क्रिप्ट या jQuery एकमात्र समाधान है, हालांकि नहीं मिलेगा।

+0

"हालांकि आपको एक क्रॉस-ब्राउज़र जावास्क्रिप्ट या jQuery केवल समाधान नहीं मिलेगा।" जैसा कि उल्लेख किया गया है, अच्छे कारण के लिए, यह एक बड़ी सुरक्षा समस्या है और उपयोगकर्ता के रूप में मुझे इससे नफरत है। एक डेवलपर के रूप में, मुझे एहसास है कि उपयोगकर्ता इसे नफरत करते हैं, इसलिए मैं ऐसा नहीं करता हूं। – Alex

+0

दुर्भाग्य से ऐसी स्थितियां हैं जो प्रयोज्यता के लिए ग्राहक इस तरह के व्यवहार का अनुरोध करेगी। मान लें कि आपके पास एक फ़ील्ड 3 इनपुट (उदाहरण के लिए एक फोन नंबर) में विभाजित है और कोई भी पूरे फोन नंबर को फ़ील्ड में पेस्ट करने में सक्षम होना चाहता है। आप वह कैसे करेंगें? खैर आप पेस्ट इवेंट को पहले इनपुट (jquery का उपयोग करके) में संलग्न कर सकते हैं, लेकिन यह केवल तभी काम करेगा जब आपने पहले फ़ील्ड के इनपुट को सीमित नहीं किया है, लेकिन फिर अतिरिक्त कार्यक्षमता के लिए आपको क्षेत्र प्रतिबंधों का त्याग करना होगा। दुर्भाग्य से, मुझे इस मुद्दे को हल करने के लिए कुछ भारी समाधान लागू करना पड़ा है। – Merritt

-1

आप जावास्क्रिप्ट में प्रोग्रामेटिक रूप से कट, कॉपी या पेस्ट ट्रिगर नहीं कर सकते हैं और फिर भी क्रॉस ब्राउज़र समर्थन बनाए रख सकते हैं। ये क्रियाएं केवल उपयोगकर्ता से आ सकती हैं।

+4

यह अब प्रासंगिक नहीं है, कट और कॉपी सभी सदाबहार ब्राउज़र में लागू किया गया है। – PseudoNinja

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