为什么我们不能在 Firefox 中使用粘贴插件右键单击粘贴到 TinyMCE 中

Why can't we right-click paste into TinyMCE with paste plugin in Firefox?

本文关键字:插件 单击 TinyMCE 右键 不能 我们 Firefox 为什么      更新时间:2023-09-26
如果你

有"粘贴"插件,似乎不可能复制文本,然后使用Firefox右键单击粘贴将其粘贴到TinyMCE编辑器中。这是为什么呢?

我正在使用:

  • Firefox 33.1.1(尽管用户抱怨FF 29的问题)
  • TinyMCE 4.1.1 与"粘贴"插件

我可以右键单击粘贴到这些中而不会出错:

  • 具有 contenteditable="true" 属性的元素(与 TinyMCE 的方法相同),在 http://html5demos.com/contenteditable 上进行了测试
  • 普通文本区域
  • TinyMCE 4.1.1 没有"粘贴"插件

早在2007年,用户就在TinyMCE论坛上讨论过,并提到了一个警报,上面写着"复制/剪切/粘贴在Mozilla和Firefox中不可用",而FF 33没有收到。没有人提到为什么会出现这个问题,TinyMCE管理员声称"这不是一个错误"。我很想知道对Firefox或TinyMCE进行了哪些更改导致了这种情况,以及为什么(安全性?

这个问题 - tinymce鼠标粘贴不起作用 - 有一个如何解决问题的答案:删除"上下文区域"插件或任何基于它的插件。但有趣的是,首先知道为什么会发生这种情况。

一位同事让我走上了正确的轨道,我找到了这两个链接:

https://developer.mozilla.org/en-US/Firefox/Releases/29/Site_Compatibility#Security

删除允许剪贴板策略支持会破坏某些富文本编辑器(如 CKEditor)上的复制/粘贴按钮。标准剪贴板 API 的点击复制支持将在不久的将来实现。常规键盘快捷键 Ctrl+C 和 Ctrl+V 应始终有效。

http://kb.mozillazine.org/Granting_JavaScript_access_to_the_clipboard

默认情况下,出于安全和隐私原因,不允许 JavaScript 读取或设置剪贴板数据。这是因为网站脚本可以擦除和替换您当前在剪贴板中的内容(数据丢失问题),并且可以读取剪贴板中的任何内容(安全和隐私问题);因此,应谨慎授予访问权限。

也许具有TinyMCE专业知识的人可以提供有关如何访问剪贴板的更多信息。

好的后续问题可能是:为什么其他浏览器不这样做?为什么 ctrl+v 更安全?