为什么在Mozilla Firefox和Google Chrome浏览器中无法使用剪切、复制、粘贴功能?

3
我将使用jQuery和execCommand()函数创建一个富文本编辑器。
但是下面的代码:
document.execCommand('cut', false, null); 

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

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

在Mozilla Firefox,Google Chrome和其他一些浏览器中无法正常工作。

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

2个回答

3
很容易解决这个问题,按照以下步骤操作: 在 Firefox 中输入 "about:config"(不包括引号),然后点击 "我承诺小心" 按钮,接着输入 "dom.event.clipboardevents.enabled",再双击它,将其值设置为 false。这样就可以解决问题了。 enter image description here

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"
    ...
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接