How can you copy text to clipboard using Javascript (or even nicer a jQuery function) without involving Flash?
I don\'t care about IE a
You will find there are many information if you google it. eg: http://www.dynamic-tools.net/toolbox/copyToClipboard/ http://www.geekpedia.com/tutorial126_Clipboard-cut-copy-and-paste-with-JavaScript.html
Now that the problem is solved, I want to add some made-up JavaScript.
Then use something like this (copied from the Mozilla resource):
function copyToClipboard(text) {
// ask for permission to access clipboard
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
} catch(e) {
alert("Clipboard copying is not allowed. Set signed.applets.codebase_principal_support to 'true' in Mozilla Firefox.");
return false;
}
// make a copy of the Unicode
var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
if (!str) return false; // couldn't get string obj
str.data = text; // unicode string?
// add Unicode & HTML flavors to the transferable widget
var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
if (!trans) return false; //no transferable widget found
trans.addDataFlavor("text/unicode");
trans.setTransferData("text/unicode", str, text.length * 2); // *2 because it's unicode
// copy the transferable widget!
var clipboard = Components.classes["@mozilla.org/widget/clipboard;1"].getService(Components.interfaces.nsIClipboard);
if (!clipboard) return false; // couldn't get the clipboard
clipboard.setData(trans, null, Components.interfaces.nsIClipboard.kGlobalClipboard);
return true;
}
A simple Google search resulted in:
By default, the access to the clipboard by firefox is disabled for security reasons. You can edit the setting in firefox to allow it:
In the firefox address bar, type in: "about:config" (no quotes), and hit enter.
In the "filter" box you now see, type in the word "signed", and you should only have one result coming up. It's set to DISABLED. Double-click it, and it should change to ENABLED. Close the window. From then on, firefox will warn you when a website tries to access your clipboard, and you can tell it to "always allow this site...."