TinyMCE 粘贴按钮仅适用于 Internet Explorer

TinyMCE paste button only works in Internet Explorer

当我使用 TinyMCE 工具栏中的粘贴按钮时,它显示 "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead." 它在 IE 中完美运行。有没有办法让粘贴按钮在 Chrome 和 FF 中有用?也许使用自定义按钮执行适用于现代浏览器的 jQuery 粘贴功能。

editor.addButton('paste', {
  icon: 'paste',
  onclick: function () {
    pastecontent();
  } 
});

function pastecontent(){
   // get clipboard content
}

正如编辑所说,这只是对您在某些浏览器中通过 JavaScript 可以/不能直接执行的操作的限制。无论您是否使用 jQuery,您仍在使用 JavaScript,因此潜在的限制将存在。

想象一下,如果您的任意 JavaScript 可以随时访问剪贴板,您会怎么做? "Bad people" 不遵守规则,那么如果(在加载网页时)他们 JavaScript 从剪贴板抓取所有内容并将其发送到他们的服务器怎么办?随着时间的推移,浏览器制造商意识到直接访问剪贴板是 "bad" ...通过让用户键入 CRTL+C and CRTL+V,您实际上是在告诉浏览器您希望它访问剪贴板。

如果 tinyMce 编辑器或一般网页可以获得 'paste' 的结果,那么任何网站都可以窃取您的剪贴板数据(您的剪贴板中可能复制了敏感数据!)。这就是您无法通过 javascript.

触发粘贴事件的原因

关于此安全限制,允许使用内部网络浏览器的本机应用执行此操作!

旁注:如果您禁用 contextmenu,则 ctrl+v 键绑定粘贴将照常工作。