2011-08-08 112 views
0

我正在为我的系统构建自定义右键菜单,我需要知道如何使JavaScript函数能够复制所选文本,基本上100%原来的右键菜单呢。使用JavaScript将选定文本复制并粘贴到剪贴板使用JavaScript

我知道Flash的变通方法。我想用JavaScript来做到这一点。

到目前为止,我见过的每一个答案都只是一个半答案,因为他们都没有解释如何为选定的文本制作复制按钮 - 他们所做的只是复制预定义的文本或来自文本框。

+1

这正是问题 - 没有一个跨浏览器的方法来做到这一点。 – Purag

+0

你确定吗? – Ricardo

+0

是的,但你可以使用小闪光灯部分来做到这一点..只是谷歌它(考试http://www.deluxeblogtips.com/2010/06/javascript-copy-to-clipboard.html).. – slobodan

回答

0

不知道这是否会工作,但谷歌搜索产生:

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

0

一个可行的跨浏览器的方法(减去iOS版)是使用ExternalInterfacesetClipboard。 所以你会得到一个swf,flash文件,它只能监听你从Javascript调用的设置clipBoard的函数。

1

现代日浏览器阻止访问剪贴板。用户必须具有正确的安全设置。

有闪光灯work-arounds,但它们不是最好的。

1

对于非IE浏览器,您最有可能必须使用Flash解决方案。然而,对于IE浏览器来说,这种方法是完美的:

function copyToClipboard(s) {   //only works in IE :(
    if (window.clipboardData && clipboardData.setData) { 
     clipboardData.setData('text', s); 
    } 
} 
+0

以及事情是 - 我需要它来复制他们选择的文本,所以到目前为止我得到的所有答案都只是一半的答案,因为我需要我的用户选择他们想要复制的文本,而不是当前的脚本(复制我写的文字)。无论如何,进入Goggle并找到完全一样的东西,感谢您的答案;) – Ricardo

相关问题