如何使用javascript将变量的内容放入剪贴板? function Copy()//此函数稍后将锁定到按钮。 { var text=writePreview();//这将通过writePreview()函数将格式化字符串注入变量“text” text=br2nl(text);//变量“text”从中纯化,并由回车符替换 //我需要一些代码将变量“text”的内容输入剪贴板。这样用户就可以将处理后的数据粘贴到第三方应用程序中 }

如何使用javascript将变量的内容放入剪贴板? function Copy()//此函数稍后将锁定到按钮。 { var text=writePreview();//这将通过writePreview()函数将格式化字符串注入变量“text” text=br2nl(text);//变量“text”从中纯化,并由回车符替换 //我需要一些代码将变量“text”的内容输入剪贴板。这样用户就可以将处理后的数据粘贴到第三方应用程序中 },javascript,html,client-side,Javascript,Html,Client Side,我正在构建一个离线客户端web应用程序。其主要目的是让用户输入到字段,格式化文本,使其符合特定标准,然后单击“复制”,以便他们可以将其粘贴到第三方CRM 唯一可用的浏览器是谷歌浏览器。我在网上搜索,希望能找到一个简单的解决办法 我不担心安全性,因为这个应用程序不会发布,只用于脱机使用 我想让它尽可能简单,添加不可见的文本区域会破坏布局。在我当前的环境中不允许使用Flash 查看clipboard.js 将文本复制到剪贴板的现代方法 没有闪光。没有依赖关系。只有2kb的Gzip 通过更新我的浏览器

我正在构建一个离线客户端web应用程序。其主要目的是让用户输入到字段,格式化文本,使其符合特定标准,然后单击“复制”,以便他们可以将其粘贴到第三方CRM

唯一可用的浏览器是谷歌浏览器。我在网上搜索,希望能找到一个简单的解决办法

我不担心安全性,因为这个应用程序不会发布,只用于脱机使用

我想让它尽可能简单,添加不可见的文本区域会破坏布局。在我当前的环境中不允许使用Flash

查看clipboard.js

将文本复制到剪贴板的现代方法

没有闪光。没有依赖关系。只有2kb的Gzip


通过更新我的浏览器(Google Chrome v49)解决了这一问题。我使用的是较低版本(v34)

发现Google Chrome的更高版本(v42+)支持
document.execCommand('copy')

我希望它能帮助人们

以下是我使用的函数:

function Copy() // this function will be latched to a button later on.
{
    var text = writePreview(); // this pours in the formatted string by the writePreview() function to the variable 'text'
    text = br2nl(text); //variable 'text' is purified from <br/> and is replaced by a carriage return

    //I need some code here to pour in the contents of the variable 'text' to the clipboard. That way the user could paste the processed data to a 3rd party application
}
根据“在javascript中,将值从变量复制到剪贴板并不简单,因为没有直接命令。”

因此,根据建议,我做了以下工作:

  • 在html文件中定义了以下内容-我在底部添加了(我从未注意到元素被添加和删除):

  • 然后我在Javascript中添加了:

也许有更好的方法,但对我来说很有效

更新:

此外,我发现如果您的文本是多行的,并且如果您使用文本类型的输入,则所有文本都将转换为一行文本

为了保持段落/分隔行,我尝试使用textarea,文本按原样复制-多行:

function copyQ() {

        var container = document.getElementById("container");
        var inp = document.createElement("input");
        inp.type = "text";
        container.appendChild(inp); 
        inp.value = "TEST_XYZ";
        inp.select();
        document.execCommand("Copy");
        container.removeChild(container.lastChild);
        alert("Copied the text: " + inp.value);
    }

希望它能帮助某些人。

可能是重复的,我已经读到了,当它说:“现在,你需要通过传递DOM选择器、HTML元素或HTML元素列表来实例化它。”我真的不知道如何将其应用到我的代码中。如果你能解释一下或者提供一个简单的例子,我将不胜感激。请简明扼要地说明你在哪里迷路了。我同意seahorsepip的评论。我不是从元素2复制。我不是从元素3中剪切内容。它不表示如何将数据剪贴板文本发送到变量。虽然我承认,我并不像你说的那么专业,但这就是我问这个问题的原因,因为我已经读了很多东西,还不知道如何将它应用到我当前的项目中。我以前在IE上做过这项工作,但是因为我现在只有Google Chrome可以使用,这就是我问这个问题的原因。另外,你能定义一下我错过了什么基本知识,这样至少我可以在上面工作吗?
function copyQ() {

        var container = document.getElementById("container");
        var inp = document.createElement("input");
        inp.type = "text";
        container.appendChild(inp); 
        inp.value = "TEST_XYZ";
        inp.select();
        document.execCommand("Copy");
        container.removeChild(container.lastChild);
        alert("Copied the text: " + inp.value);
    }
    var inp = document.createElement("textarea");
    //inp.type = "text";