使用JavaScript将所选文本复制并粘贴到剪贴板

时间:2011-08-08 19:11:57

标签: javascript clipboard copy-paste

我正在为我的系统构建一个自定义右键单击菜单,我需要知道如何创建一个JavaScript函数来复制所选文本,基本上100%就像原始的右键单击菜单一样。

我知道Flash的解决方法。我想用JavaScript做这件事。

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

4 个答案:

答案 0 :(得分:1)

Modern Day Browsers阻止访问剪贴板。用户必须正确安全设置。

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

答案 1 :(得分:1)

对于非IE浏览器,您很可能必须使用闪存解决方案。但是,对于IE,这种方法非常有效:

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

答案 2 :(得分: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

答案 3 :(得分:0)

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