【问题标题】:Copy and paste the selected text to the clipboard using JavaScript使用 JavaScript 将所选文本复制并粘贴到剪贴板
【发布时间】:2011-08-08 19:11:57
【问题描述】:

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

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

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

【问题讨论】:

标签: javascript clipboard copy-paste


【解决方案1】:

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

有flashwork-arounds,但不是最好的。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 问题是 - 我需要它来准确复制他们选择的文本,所以到目前为止我在这里得到的所有答案都只是一半答案,因为我需要我的用户选择他们想要的文本复制而不是当前脚本的作用(复制我写的文本)。进入 Goggle 并找到与您在下面给出的完全相同的内容并不难,无论如何感谢您的回答;)
    【解决方案3】:

    不知道这是否可行,但谷歌搜索产生了:

    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

    【讨论】:

      【解决方案4】:

      一种可行的跨浏览器方法(不包括 iOS)是使用ExternalInterfacesetClipboard。 所以你会有一个 swf、flash 文件,它只监听你从 Javascript 调用的函数来设置剪贴板。

      【讨论】:

        猜你喜欢
        • 2017-10-14
        • 2014-08-31
        • 1970-01-01
        • 2021-07-09
        • 1970-01-01
        • 2011-02-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多