我正在为我的系统构建自定义右键菜单,我需要知道如何使JavaScript函数能够复制所选文本,基本上100%原来的右键菜单呢。使用JavaScript将选定文本复制并粘贴到剪贴板使用JavaScript
我知道Flash的变通方法。我想用JavaScript来做到这一点。
到目前为止,我见过的每一个答案都只是一个半答案,因为他们都没有解释如何为选定的文本制作复制按钮 - 他们所做的只是复制预定义的文本或来自文本框。
我正在为我的系统构建自定义右键菜单,我需要知道如何使JavaScript函数能够复制所选文本,基本上100%原来的右键菜单呢。使用JavaScript将选定文本复制并粘贴到剪贴板使用JavaScript
我知道Flash的变通方法。我想用JavaScript来做到这一点。
到目前为止,我见过的每一个答案都只是一个半答案,因为他们都没有解释如何为选定的文本制作复制按钮 - 他们所做的只是复制预定义的文本或来自文本框。
不知道这是否会工作,但谷歌搜索产生:
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,'');
}
一个可行的跨浏览器的方法(减去iOS版)是使用ExternalInterface和setClipboard。 所以你会得到一个swf,flash文件,它只能监听你从Javascript调用的设置clipBoard的函数。
现代日浏览器阻止访问剪贴板。用户必须具有正确的安全设置。
有闪光灯work-arounds,但它们不是最好的。
对于非IE浏览器,您最有可能必须使用Flash解决方案。然而,对于IE浏览器来说,这种方法是完美的:
function copyToClipboard(s) { //only works in IE :(
if (window.clipboardData && clipboardData.setData) {
clipboardData.setData('text', s);
}
}
以及事情是 - 我需要它来复制他们选择的文本,所以到目前为止我得到的所有答案都只是一半的答案,因为我需要我的用户选择他们想要复制的文本,而不是当前的脚本(复制我写的文字)。无论如何,进入Goggle并找到完全一样的东西,感谢您的答案;) – Ricardo
这正是问题 - 没有一个跨浏览器的方法来做到这一点。 – Purag
你确定吗? – Ricardo
是的,但你可以使用小闪光灯部分来做到这一点..只是谷歌它(考试http://www.deluxeblogtips.com/2010/06/javascript-copy-to-clipboard.html).. – slobodan