在JavaScript中复制粘贴

在JavaScript中复制粘贴,javascript,clipboard,copy-paste,Javascript,Clipboard,Copy Paste,这是一个由来已久的问题,但我仍然有问题。你看,我正试图将一些Excel数据粘贴到文本区域中,但愚蠢的浏览器在这样做时会长时间冻结,因为天知道它们会做什么“智能”解析。我无法摆脱这一点(文件上传是不可能的,我的老板希望我将Excel中的行粘贴到文本区域) 好消息是在标准文本框中粘贴是可行的。但我不能强迫他们贴在那里。因此,我试图捕获文本区域中的粘贴事件,然后将文本扔到文本框中。不幸的是,我在粘贴部分突然停了下来。我无法通过JS将文本粘贴到简单文本框中 所以我的问题是:如何粘贴文本,如何通过JS调用

这是一个由来已久的问题,但我仍然有问题。你看,我正试图将一些Excel数据粘贴到文本区域中,但愚蠢的浏览器在这样做时会长时间冻结,因为天知道它们会做什么“智能”解析。我无法摆脱这一点(文件上传是不可能的,我的老板希望我将Excel中的行粘贴到文本区域)

好消息是在标准文本框中粘贴是可行的。但我不能强迫他们贴在那里。因此,我试图捕获文本区域中的粘贴事件,然后将文本扔到文本框中。不幸的是,我在粘贴部分突然停了下来。我无法通过JS将文本粘贴到简单文本框中


所以我的问题是:如何粘贴文本,如何通过JS调用它?有一些解决方案只在IE中有效,这当然不好::-)。

对不起,没有完全理解这个想法。难道你不能在粘贴时附加到XTAREA的
事件(至少我知道IE有这样的事件),然后简单地将textarea的值设置为粘贴的值吗

    pastedContent = window.clipboardData.getData("Text");
    document.getElementById("yourtextarea").value = pastedContent;
编辑:好的,这似乎只适用于IE和,但它不是一个跨浏览器的解决方案

我无法通过JS将文本粘贴到简单文本框中


你说的“简单文本框”是指
?如果是这样的话,那么我认为将其
值设置为从
中捕获的文本应该会起作用。

在Firefox或Mozilla中启用javascript复制到剪贴板:

尝试其他解决方案。不使用“复制并粘贴”来检查大量/excel数据,但这可能会有帮助…

简单

var isIe=(navigator.userAgent.toLowerCase().indexOf(“msie”)!=-1
||navigator.userAgent.toLowerCase().indexOf(“trident”)!=-1);
document.getElementById('textinput')。addEventListener('paste',函数(e){
var文本;
如果(isIe){
text=window.clipboardData.getData('text')
}否则{
text=e.clipboardData.getData('text/plain');
}
//你想怎么写就怎么写
console.log(文本);
//如果不想将文本粘贴到文本区域中
e、 预防默认值();
});

这是一个仅适用于IE的解决方案:-(常规文本框速度更快,因为它只包含一行(duh)。当然,duh。但它仍然粘贴Excel数据,以制表符分隔。据我所知,问题是捕获“粘贴”跨浏览器方式中的事件我可以捕获粘贴事件,但不能捕获粘贴的数据。有一些命令,如ExecCommand,但它们仅在IE.Ah中工作。如何:1.让粘贴事件在
中完成。2.读取文本区域的
属性以获取粘贴的文本。3.设置
值将de>设置为空字符串。4.将普通文本字段的
值设置为步骤2中获得的文本。这不是解决方案,因为您无法远程控制用户的FF设置。