Document.execCommand(“粘贴”)不起作用!“复制”和“剪切”都能正常工作。
var editor = document.getElementById("ta1");
editor.focus();
editor.select();
var successful = document.execCommand("Paste");
var msg = successful ? 'successful' : 'unsuccessful';
alert('Pasting text command was ' + msg);
此警告在粘贴时为“不成功”,但在复制和剪切时为“成功”。
我使用“复制”在我的网页上的另一个地方,整个工作就像一个护身符,但我需要让“粘贴”的工作。
我用的是Chrome (没有扩展,只是一个普通的网页)。有什么想法吗?
发布于 2016-08-29 01:29:09
出于安全原因,它在chrome中被阻止了。甚至连office 365也要求他们的用户使用ctrl+c/ctrl+v快捷键,而不是复制。
此功能目前仅适用于chrome扩展。
如果要复制的文本必须粘贴到同一页上,则只需将文本存储在变量中,然后可以使用以下命令进行粘贴
document.execCommand('insertText'
但您需要首先将文本区域作为焦点
并复制selection https://developer.mozilla.org/fr/docs/Web/API/Window/getSelection
发布于 2016-08-29 01:28:29
在Mozilla Documentation of Document.execCommand()中清楚地提到了这一点:
粘贴
将剪贴板内容粘贴到插入点(替换当前选择)。必须在user.js首选项文件中启用剪贴板功能。参见。
1在Firefox41之前,需要在user.js首选项文件中启用剪贴板功能。有关更多信息,请参阅Mozilla首选项简要指南。如果该命令不被支持或启用,execCommand会引发异常,而不是返回false.In Firefox41和更高版本,剪贴板功能在任何能够弹出窗口的事件处理程序(不完全信任的脚本)中默认启用。
发布于 2019-05-08 14:03:10
我也有同样的问题。因此,作为变通方法,我使用了下面的代码,它的工作有一些限制。试一试:)
navigator.clipboard.readText().then(function(text){
document.execCommand( "insertHTML", false, text || "");
});
https://stackoverflow.com/questions/39193878
复制相似问题