Copy and paste the selected text to the clipboard using JavaScript
I'm building a custom right-click menu for my system and I need to know how can I make a JavaScript function to copy the selected text, b开发者_Go百科asically 100% like the original right-click menu does.
I'm aware of the Flash work-arounds. I want to do this in JavaScript.
Every answer I've seen so far is only a half-answer because none of them explains how to make a copy button for the selected text - all what they do is copy a pre-defined text or a text from a textbox.
Modern Day Browsers block access to the clipboard. The user has to have the security setting correct.
There are flash work-arounds, but they are not the best.
For non-IE browsers you will most likely have to use a flash solution. For IE, however, this method works perfectly:
function copyToClipboard(s) { //only works in IE :(
if (window.clipboardData && clipboardData.setData) {
clipboardData.setData('text', s);
}
}
no idea if this will work, but a google search yielded:
function getSel(){
var w=window,d=document,gS='getSelection';
return (''+(w[gS]?w[gS]():d[gS]?d[gS]):d.selection.createRange().text)).replace(/(^\s+|\s+$)/g,'');
}
http://snippets.dzone.com/posts/show/2914
A workable cross-browser approach (minus iOS) would be to use ExternalInterface and setClipboard. So you would have a swf, flash file, that only listens to a function you call from Javascript to set the clipBoard.
精彩评论