为什么Cut,Copy,Paste在Mozilla Firefox和Google Chrome浏览器中不起作用?

时间:2015-03-13 05:22:09

标签: javascript jquery copy paste execcommand

我尝试在execCommand()的帮助下使用jQuery创建一个RichText Editor。

但是以下代码:

document.execCommand('cut', false, null); 

document.execCommand('copy', false, null);

document.execCommand('paste', false, null);

不适用于Mozilla Firefox,Google Chrome和其他一些浏览器。

是否有可能使用execCommand()执行剪切,复制和粘贴操作,或者还有其他方法可以在我的RichText编辑器中执行剪切,复制和粘贴操作?

2 个答案:

答案 0 :(得分:2)

解决此问题很容易,请按照下列步骤操作: 转到" about:config"在Firefox上没有引用,然后点击了#34;我要小心,我保证"按钮,下一个类型" dom.event.clipboardevents.enabled"然后双击它,所以值为false。这应该可以解决问题。

enter image description here

答案 1 :(得分:1)

从Chrome 42和Firefox 41, document.execCommand('cut') document.execCommand('copy')将起作用,但仅适用于半受信任的事件。见https://www.w3.org/TR/2014/WD-clipboard-apis-20140313/#semi-trusted-events

就像这样:

document.getElementById('copy').onmousedown = function() {
  console.log(document.execCommand('copy'))
}

document.getElementById('cut').onmousedown = function() {
  console.log(document.execCommand('cut'))
}
<textarea></textarea>
<button id="copy">Copy</button>
<button id="cut">Cut</button>

在Chrome上 document.execCommand('paste')将以相同的方式工作,但需要安装扩展程序以允许它。没有扩展,它将无法工作。要允许,您需要在 manifest.json 文件的权限中包含此“clipboarRead”。像这样:

permissions: {
    ...
    "clipboardRead"
    ...
}