का उपयोग कर सभी ब्राउज़रों के लिए क्लिपबोर्ड पर कॉपी करें मैं "क्लिपबोर्ड पर कॉपी करें" सभी ब्राउज़रों पर काम करने की कोशिश कर रहा था लेकिन कोई भाग्य नहीं।जावास्क्रिप्ट
जावास्क्रिप्ट का उपयोग कर रहा हूं और मैं Zero Clipboard का उपयोग नहीं करना चाहता हूं।
कृपया हमें बताएं कि मेरे कोड में क्या गलत है।
आपकी सहायता के लिए सराहना करें।
नीचे कोड (वर्तमान में मेरे कोड IE ब्राउज़र पर केवल काम कर रहा है) है: -
<script type="text/javascript">
function copyToClipboard(s)
{
if(window.clipboardData && clipboardData.setData)
{
clipboardData.setData("Text", s);
}
else
{
// You have to sign the code to enable this or allow the action in about:config by changing
user_pref("signed.applets.codebase_principal_support", true);
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
var clip = Components.classes['@mozilla.org/widget/clipboard;[[[[1]]]]'].createInstance(Components.interfaces.nsIClipboard);
if (!clip) return;
// create a transferable
var trans = Components.classes['@mozilla.org/widget/transferable;[[[[1]]]]'].createInstance(Components.interfaces.nsITransferable);
if (!trans) return;
// specify the data we wish to handle. Plaintext in this case.
trans.addDataFlavor('text/unicode');
// To get the data from the transferable we need two new objects
var str = new Object();
var len = new Object();
var str = Components.classes["@mozilla.org/supports-string;[[[[1]]]]"].createInstance(Components.interfaces.nsISupportsString);
var copytext=meintext;
str.data=copytext;
trans.setTransferData("text/unicode",str,copytext.length*[[[[2]]]]);
var clipid=Components.interfaces.nsIClipboard;
if (!clip) return false;
clip.setData(trans,null,clipid.kGlobalClipboard);
}
}
</script>
<textarea id='testText' rows="10" cols="100">Enter your Sample text</textarea><br />
<button onclick="copyToClipboard(document.getElementById('testText').value);" >clipboard</button><br /><br />
<textarea rows="10" cols="100">Paste your text here</textarea><br />
http://stackoverflow.com/questions/400212/how-to-copy-to-clipboard-in-javascript का डुप्लिकेट? –
जैसा कि मुझे पता है, आप डिफ़ॉल्ट रूप से फ़ायरफ़ॉक्स में क्लिपबोर्ड तक पहुंचने के लिए जेएस का उपयोग नहीं कर सकते हैं। जेएस के बजाए, एकमात्र सार्वभौमिक तरीका फ्लैश है। – Rufus
@ रूफस: लेकिन मेरे मामले में, मुझे फ्लैश के बिना करने की ज़रूरत है। –