尝试以编程方式粘贴
Trying to programmically paste
我在使用 execCommand('paste');
时遇到问题
我的代码:
var copy = document.createElement("BUTTON");
copy.innerText = "Copy";
Sections.contextmenu.appendChild(copy);
copy.addEventListener("click", function(e) {
document.execCommand("copy");
});
var paste = document.createElement("BUTTON");
Sections.contextmenu.appendChild(paste);
paste.innerText = "Paste";
paste.addEventListener("click", function(e) {
console.log("Paste");
if (document.execCommand("paste")) {
console.log("pasted");
}
});
复制开箱即用。我无法粘贴工作。我在控制台中看到 "Paste",但没有粘贴任何内容。我读过一些东西说这个功能需要在 Firefox 中明确打开。有没有办法(除了使用 flash...这在我所做的研究中讨论过)以编程方式在内容可编辑元素中执行 "paste"?
试试下面的代码
console.log(document.exeCommand('paste')
如果为false,可能需要授权才能使用,或者你的导航器不支持
您还可以使用剪贴板 API,这会删除 exeCommand
paste
命令在网络内容中被禁用(它仅在浏览器扩展中可用)。它被禁用大概是因为它会允许任何网站窃取剪贴板的内容。来自 MDN documentation on execCommand
:
paste
Pastes the clipboard contents at the insertion point (replaces current selection). Disabled for web content.
我在使用 execCommand('paste');
时遇到问题我的代码:
var copy = document.createElement("BUTTON");
copy.innerText = "Copy";
Sections.contextmenu.appendChild(copy);
copy.addEventListener("click", function(e) {
document.execCommand("copy");
});
var paste = document.createElement("BUTTON");
Sections.contextmenu.appendChild(paste);
paste.innerText = "Paste";
paste.addEventListener("click", function(e) {
console.log("Paste");
if (document.execCommand("paste")) {
console.log("pasted");
}
});
复制开箱即用。我无法粘贴工作。我在控制台中看到 "Paste",但没有粘贴任何内容。我读过一些东西说这个功能需要在 Firefox 中明确打开。有没有办法(除了使用 flash...这在我所做的研究中讨论过)以编程方式在内容可编辑元素中执行 "paste"?
试试下面的代码
console.log(document.exeCommand('paste')
如果为false,可能需要授权才能使用,或者你的导航器不支持 您还可以使用剪贴板 API,这会删除 exeCommand
paste
命令在网络内容中被禁用(它仅在浏览器扩展中可用)。它被禁用大概是因为它会允许任何网站窃取剪贴板的内容。来自 MDN documentation on execCommand
:
paste
Pastes the clipboard contents at the insertion point (replaces current selection). Disabled for web content.