9

मैं this question लेकिन वहाँ दिए गए कोड का उपयोग करने की कोशिश कर पाया:Greasemonkey के साथ क्लिपबोर्ड पर डेटा कॉपी करने के लिए कैसे?

unsafeWindow.netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); 
const clipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"] 
    .getService(Components.interfaces.nsIClipboardHelper) 
; 
clipboardHelper.copyString('test'); 


त्रुटि संदेश देता है:

«http://example.com» से एक स्क्रिप्ट UniversalXPConnect विशेषाधिकार वंचित किया गया।



मैं भी उपयोग करने का प्रयास (from Mozilla site):

const gClipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"] 
    .getService(Components.interfaces.nsIClipboardHelper) 
; 
gClipboardHelper.copyString("test2"); 

कौन सा त्रुटि संदेश देता है: Components.classes is undefined

दोनों मामलों में यह विंडोज 7 पर नवीनतम फ़ायरफ़ॉक्स के साथ काम नहीं करता है।
मुझे और क्या प्रयास करना चाहिए?

उत्तर

19

अद्यतन:

संस्करण 1.10 (20 जून, 2013) के रूप में, Greasemonkey अब the GM_setClipboard() function का समर्थन करता है।
उपयोग करती हैं इसलिए की तरह:

// ==UserScript== 
// @name  _YOUR_SCRIPT_NAME 
// @include http://YOUR_SERVER.COM/YOUR_PATH/* 
// @grant GM_setClipboard 
// ==/UserScript== 

GM_setClipboard ("The clipboard now contains this sentence."); 


पुराने जीएम संस्करण:

यह Greasemonkey के साथ क्या करना बहुत मुश्किल है के बाद से जीएम devs इसे समर्थन करने के लिए मना कर दिया और एफएफ और फ्लैश सुरक्षा सेटिंग्स होना चाहिए पर काबू पाने के।
यदि आप मैन्युअल द्वारा पर प्रतिलिपि बनाई जाए तो आप इसे कर सकते हैं। इस मामले में, this question से तकनीकों में से एक का उपयोग करें।

यदि आप किसी प्रकार का पूर्ण-स्वचालित क्लिपबोर्ड ऑपरेशन करना चाहते हैं, तो आपको अपनी जीएम स्क्रिप्ट के उपयोग के लिए अपना स्वयं का ऐड-ऑन या प्लगइन विकसित करना होगा।


Scriptish साल के लिए इस समर्थन किया है:

तो स्विच करने पटकथा ऐड-ऑन के लिए खुले हैं तो ध्यान रखें कि ScriptishGM_setClipboard() to set the clipboard प्रदान करता है। (लेकिन इसे पढ़ने के लिए कोई फंक्शन नहीं है ?!)

स्क्रिप्टिश सही नहीं है, लेकिन यह कुछ तरीकों से Greasemonkey से बेहतर है। (ध्यान दें कि मैं ऐड-ऑन से संबद्ध नहीं हूं, न ही मैं पूरी तरह से खुश हूं।)

अधिकांश जीएम स्क्रिप्ट स्क्रिप्टिश में बिना किसी समस्या के चलेंगे।


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

+0

स्क्रिप्टिश के लिए +1। मेरा दिन बना दिया। – Kris

+0

[Greasemonkey अंत में GM_setClipboard का समर्थन करता है!] (Http://scriptish.org/news/2013/07/15/greasemonkey-finally-supports-clipboard.html) –